1.0 実行の方法

Perl は 1 行コマンド として 実行する場合 (例 1.1: hello world を印刷)

% perl -e 'print "hello world \n"'

と、file に 保存してその file を 実行する場合があります。以下では file に保存する場合を説明します。


(課題1.0) WWW の画面は、マウスの左ボタンを押し続けること で copy できます。上のコマンドで % を除いた部分 (perl -e 'print "hello world \n"') を左ボタンを押したまま右に移動して 下さい。黒くなりましたね? この状態で、マウスを kterm に 移動 して、中ボタンを押しますと、copy した内容が出されて、コマン ドが実行されます。試してください。

1.1 Perl の file の 作り方

perl の file は、おしりに .pl という 識別子をつけます。file は、~/bin という directory に mule で 作成します。mule の使 い方は別なところで勉強してください。


(課題 1.1) 以下の文を p1-1.pl に マウス で copy し、p1-1.pl に save しなさい。
#!/usr/local/bin/perl
print "hello world \n";   # hello world を 印刷します。

最初の行は、この file が perl を用いて実行されることを示します。 次の行は、hello world を 印刷します。ここで # 以下は、コメント として説明を加えます。(実行には、関係がありません。) \n が 改行を 意味します。

注: perl がある場所が /usr/local/bin にあることを仮定してい ます。% which perl として、perl のある場所が違う場合には直す 必要があります。電通大の教育系では

#!/opt/CSapp/bin/perl

に第 1 行を置き換えてください。

perl の 文の終りには セミコロン ; をつけなければいけなせん。 エラーになります。セミコロン がないと、Perl は次の行に文章が 続くと期待し、2 つの文章がつながったものを理解しようとします のでエラーになります。まず エラー が発生したら、セミコロン ; がついていないか確認してみて下さい。

1.2 Perl の file を実行するには?

p1-1.pl は、このままでは実行できません。unix の コマンド chmod を用いて実行可能にします。

% ls -l p1-1.pl              file が あることを確認します。
-rw-r--r--  1 rsaito         89 Sep  6 11:13 p1-1.pl
% chmod 755 p1-1.pl          実行可能にします。
% ls -l p1-1.pl              実行可能であることを確認します。
-rwxr-xr-x  1 rsaito         89 Sep  6 11:13 p1-1.pl*
x がついて 実行が可能になりました。ここで file 名をいれると 実行します。

% p1-1.pl
hello world 
%

(課題 1.2) p1-1.pl で \n がある場合と、ない場合をつくって実行せよ。また、
hello
world
と印刷するにはどのようにしたらよいか?

答:

#!/usr/local/bin/perl
print "hello\nworld \n";   # hello world を 2行に印刷します。

注意: Perl の 中で日本語を使うことができますが、その場合には Perl の file が EUC で書かれていなければいけません。mule で file 開いた時に
-------EJJ:-----Mule: a.pl  
のように最初が E なら ok です。J は JIS 、S は Shift JIS コードを示します。 file.pl (これが何のコードであっても良い) を EUC コードに直すには、

% nkf -e file.pl >! tmp
% mv tmp file.pl
% chmod +x file.pl
で file を EUC コードに直す必要があります。直ったかどうかは mule で確認して下さい。