Perl 基礎解説(ユーザーの入力)

まあ、先ずは以下のプログラムを読み取って行きましょう。


#<ファイル名>
#test.pl
#<内容説明>
#スクリプト実行中にユーザーの入力を要求するするスクリプト。

print “好きなアニメのヒロインの名前を入力してくださいn”;
#ユーザーの入力を待機

$heroine = <stdin>;
#ユーザーからの入力の改行コードーを削除
chomp($heroine);

print “なるほど~$heroineですか~n”;
print “主人公に怒られますよ(爆n”;


まだまだ基礎過ぎて何もプログラムらしいことは書かれてませんが
なんか、ぱっと見はプログラムらしく見えるようになりましたねw

$heroine = <stdin>;
で、入力された数列や文字列を$heroineに代入すると考えてください。

ここで、ユーザーが数列、文字列を入力後[Enter]を入力します。
エンターだけならいいのですが、実はエンターを打つと改行されます。
出力結果の見栄えが実に悪いです。
そこで、改行コードのみ削除するためにchomp関数を利用します。
chomp($heroine);
こう入力することで、変数$heroineに含まれる改行コードを削除して
次の行に移ります。

syanaと入力した場合の実行結果

ws000010

Perl 基礎解説(#コメント)

基本的にプログラムの説明や紹介に使われます。
間違ってもこれから説明するような馬鹿な使い方はしないよう願いたい。

#と入力すると後ろに続く一行はコメントとみなされ無視されます。

#コメント入力してみました。
$mane = “ORBIT”;
print “勉強熱心な$maneは教科書を読んでいますn”;
#そんなの真っ赤な嘘です。
#ORBITは今教科書の後ろに隠した同人誌を熱心に読んでいます。
#第一に彼が勉強なんかするはずありませんじゃないですかwww
#プギャーwwww

こう入力すると以下のような結果が返ってくる。
ws000009

あッ、もちろん#を入力しないでコメントを書くとErroとなる。

Perl 基礎解説 ($~)

代入してみましょう。
$mane = “ORBIT”;
このように入力すると$maneはORBITであると処理されます。
これを使い以下のように入力すると
print “ただいま頭の悪い$maneは補習を受けていますn”;

ただいま頭の悪いORBITは補習を受けています
と、このように出力されます。

では、このように入力するとどうでしょうか。
print ‘あの$maneは補習を受けていますか?n’;

この結果は以下のようになります
あの$maneは補習を受けていますか?n

つまり、’で括ると$やも普通の文字として扱われます。

簡単なおさらい
$mane = “ORBIT”;
print “ただいま頭の悪い$maneは補習を受けていますn”;
print ‘あの$maneは補習を受けていますか?n’;

ws000008

Perl 基礎解説(Print)

このごろ休みがちでしたが、Perlの勉強を再開します。
まず、直接サーバーで試すわけにはいかないので母艦にActivePerl
をここからダウンロードしてインストールします。

インストール後コマンドプロントで
perl -v

と入力しましょう。
インストールに成功していればバージョンが表示されます。

では早速簡単なプログラムを書いてみましょう。
print 1234;
この記述で実行すると
1234
と表示されます。

しかし、この状態で
1234
1234
と表示させたくて
print 1234;
print 1234;
と記述しても12341234
と結果はなるだけです。

改行を行う場合は
n
で行います。

print “n”;
このように記述した場合
改行の入力を出力します。
この時文字の始まりと終わりを表す

で括りましょう。

以上で説明したとおり
Perlは自由型なので以下のように記述しても
print

こんにちは
;

こんにちは
と正常に出力されます。

おさらいとして以下のように記述して試してみましょう。

print 1234;
print “n”;
print “1234n”;
print

こんにちは
;
ws000007