戻る

8.Perlの基礎 その1

8-2.Perl とは? 、 Perl プログラムの実行

■ Perl とは?

Perl は、スクリプト言語と呼ばれるタイプのプログラム言語の一つです。
  • 文字列の操作がしやすい。
  • 外部プログラムを操作しやすい。
  • C や JAVA ライクなので、C 言語を知っていれば覚えやすい。
  • プログラミング初心者でも入り込みやすい。
  • web の CGI としての機能が豊富。
  • ほとんどの OS で稼動する(Windows、Linux、UNIX、Mac OS X)。
  • 無料。

perl プログラムを確認
$ which perl  # perl はどこ?
/usr/bin/perl
$
$ perl -v  # perl のバージョンは何?

This is perl, v5.8.0 built for sun4-solaris

Copyright 1987-2002, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

■ C言語との違い

Perl はC言語と似ていますが、違うところも多々あります。違いに気付かずに大きな間違いを犯す可能性もありますので注意しましょう。
  • コンパイルする必要がない。
  • プログラムを実行するにはPerlがインストールされている必要がある。
  • else ifPerl では、elsif と書く。
  • print 関数と printf 関数がある。
  • 変数の宣言は必ずしも必要ではない。
  • 指定しない限り、変数はグローバル変数である。
  • Perl4までは、多次元配列をサポートしていない。
  • ハッシュという変数型がある。
  • 文字列を配列型でない変数に代入できる。
  • 文字列同士をif文で直接比較できる。
  • その他もろもろ

■ Perl と C言語の比較

C言語バージョン
#include <stdio.h>

int main(void)
{
    int i;
    for(i=0; i<10; i++)
    {
        if(i%2 == 0)
        {
            printf("%dは偶数だよ\n", i);
        }
        else if(i%2+1 == 0)
        {
            printf("%dは奇数だよ\n", i);
        }
        else
        {
            printf("何だろう?\n");
        }
    }
}
Perlバージョン
#! /usr/bin/perl



for($i=0; $i<10; $i++)
{
   if($i%2 == 0)
   {
      print "$iは偶数だよ\n";
   }
   elsif($i%2+1 == 0)
   {
      print "$iは奇数だよ\n";
   }
   else
   {
      print "何だろう?\n";
   }
}
exit;

■ Hello World

kwrite で次のプログラムを "hello.pl" というファイル名で作成します。
$ kwrite hello.pl &
#! /usr/bin/perl

print "Hello World\n";   # "\n"(\n) は改行

exit;
作成したプログラムを実行しましょう。カレントディレクトリで実行する場合はファイル名の前に "./" をつけます。
$ ./hello.pl
パーミッション・エラー
実は、実行権限がありません。
ファイルのアクセス権限を確認しましょう。
$ ls -l
-rw-rw-r-- 1 user group 42 OCT 20 2006 hello.pl
一番左の部分の表示を3文字ごとに区切って、「rwx」「r-x」「r--」と見ます。
  • 1番目のセクション (rw-) はファイル所有者 (この場合は user) にとってのパーミッション
  • 2番目のセクション (rw-) はファイル所有グループ (この場合は group) にとってのパーミッション
  • 3番目のセクション (r--) はそれ以外のユーザにとってのパーミッション

d、r、w、x、- の表記があり、それぞれの意味は以下の通り。
  • d : ディレクトリ
  • r : 読み込み可
  • w : 書き込み可
  • x : 実行可
  • - : 不許可

ユーザーに hello.pl に対する実行権限を与えるには、chmod コマンドによりパーミッションを変更する必要があります。
$ chmod u=rwx hello.pl  # user はこのファイルを読み書き、実行できます。
$ ls -l
-rwxrw-r-- 1 user group 42 OCT 20 2006 hello.pl

変更できたらもう一度、hello.pl を実行してみましょう。
$ ./hello.pl
Hello World
戻る
©kazuo