Perlのコメントは、頭に'#'を付ける。
perlintro - Perl の概要 - perldoc.jp
# comment print "ABC\n"; #Print "ABC" string and LineFeed. #comment out #print "DEF\n"; #Do not execute.
と書いたなら、
$ vi comment.pl $ perl comment.pl ABC $
ABCは出力されるが、DEFは出力されない。
さて、
#!/usr/bin/perl
これまでも出てきた最初のこの部分。
これはコメントでなく、UNIXにおいてファイルを実行するプログラムのパスを示すもの。
Perl 「 コメントアウト 」と #! (0x0a)|Perl Perl_0|blog20100901
$ ls comment.pl $ ./comment.pl bash: ./comment.pl: Permission denied $ ls -al 合計 12 drwxrwxr-x. 2 bg1 bg1 4096 7月 8 08:18 . drwxrwxr-x. 3 bg1 bg1 4096 7月 8 08:09 .. -rw-rw-r--. 1 bg1 bg1 105 7月 8 08:18 comment.pl $
perlコマンドなしに、そのまま実行すると、パーミッションにより実行できない。
バーミッション変更する。
$ ls -al 合計 12 drwxrwxr-x. 2 bg1 bg1 4096 7月 8 08:18 . drwxrwxr-x. 3 bg1 bg1 4096 7月 8 08:09 .. -rw-rw-r--. 1 bg1 bg1 105 7月 8 08:18 comment.pl $ chmod 755 comment.pl $ ls -al 合計 12 drwxrwxr-x. 2 bg1 bg1 4096 7月 8 08:18 . drwxrwxr-x. 3 bg1 bg1 4096 7月 8 08:09 .. -rwxr-xr-x. 1 bg1 bg1 105 7月 8 08:18 comment.pl $
これでも、
$ ./comment.pl ./comment.pl: 行 2: print: コマンドが見つかりません $
こうなる。
そこで、
perlコマンドのパスを"#!"の後ろに書き、先頭に置く。
$ vi comment.pl $ ./comment.pl ABC $
ここまでするとperlコマンドなしでも実行できる。
CGIもこの仕組みだったかと。
Sample/perl/comment/comment/src/comment at master · bg1bgst333/Sample · GitHub