スクリプトファイルを実行可能ファイルにする


UNIX 系の OS では,ファイルの1行目に #! で始まる文字列があると,シェルがその後に指定されたパスにあるプログラムを起動し,スクリプトを実行してくれる。Perl のスクリプトファイルの先頭に #! に続けパス付きで perl を指定すれば,スクリプトファイル名を指定するだけで,スクリプトが実行できるようになる。

利用しているマシンのどこに perl があるかわからない場合には,「which perl」または「where perl」(tcsh の場合) を実行し,場所を確認する。

    --------------------------------------------------
    %which perl
    /usr/bin/perl
    %where perl
    /usr/bin/perl
    /usr/local/bin/perl
    --------------------------------------------------

実行可能にするには chmod コマンドでファイルの属性の変更を行う。取り消す時は,+- にして指定する。アクセス権 (パーミッション) を 755 などの数字で指定することも可能。( [アクセス権の設定方法] )

    %worth.pl voa/*

    worth.pl(-rwx------)
    --------------------------------------------------
    #!/usr/local/bin/perl

    $/ = "";
    while (<>){
       if (/\bworth\b/i) {
          print "-" x 30 . "\n";
          print "$ARGV\n;
          print $_;
       }
    }
    --------------------------------------------------

CGI (Common Gateway Interface) プログラムとして,Perl のスクリプトを実行するには,スクリプトファイルに実行権が与えられている必要がある。