|
$nm1 = 1234; $tx1 = "Zaco"; |
変数 $nm1 に 1234 (数値)を格納します。 変数 $tx1 に "Zaco" (文字列)を格納。 |
$nm1 = 1234; $tx1 = "4321"; print ($nm1+$tx1); print ($nm1.$tx1); |
$nm1 に 1234 (数値) を、$tx1 に "4321"(文字列) を格納します。 $nm1 + $tx1 の結果を画面表示。5555 が表示されます。 $nm1 と $tx1 を連結した文字列を画面表示。12344321 が表示されます。 |
C:\>perl -e "$nm1=1234; $tx1='4321'; print($nm1+$tx1);" |
$nm1=1234; $nm1=$nm1*5+1; |
代入文。四則演算。 |
if ($nm1 > 0){
$nm1 * 5;
}else{
print "0以下です。";
}
|
条件式[$nm1 が0より大きい]が真ならば、 $nm1を5倍にする。 そうでなければ "0以下です。"を画面出力。 |
while ($nm1 > 10){
print "まだまだ。";
$nm1--;
}
|
条件式[$nm1 が10より大きい]が真の間は、 "まだまだ"を画面出力。 $nm1を1減らす。 |
0 1.3 0x2C … 数値:0 は偽、それ以外はの値は真。 "" "abcd" … 文字列:空文字列は偽、それ以外の文字列は真。 $b=$a+3 … $a が-3なら計算結果が0となり偽、それ以外なら真。 |
$a == $b …… $a と $b が同じ値ならば真、異なれば偽。 $a != $b …… $a と $b が同じ値ならば偽、異なれば真。 $a > $b …… $a が $b より大きければ真、小さければ偽。 $a eq $b …… $a と $b が同じ文字列ならば真、異なれば偽。 $a ne $b …… $a と $b が同じ文字列ならば偽、異なれば真。 |
$str =~ / |
$str が zaco という文字列を含んでいたら、この文全体が真となります。 $str が [a-z]+ という正規表現にマッチする文字列を含んでいたら真。 $str が pattern という文字列を含んでいたら偽、いなかったら真。 上記に同じ。 |
open(FH1, "abcd.txt"); open(FH2, "> efgh.txt"); $t = <FH1>; print FH2 $t; close(FH1); close(FH2); |
abcd.txt を読み込み用に開き、以降、ファイルハンドル FH1 で参照します。 efgh.txt を書き込み用に開き、以降、ファイルハンドル FH2 で参照します。 変数 $t に abcd.txt の内容を1行読み込みます。 efgh.txt に $t の内容を書き出します。 2つのファイルを閉じます。 |
open(FH1, "abc.txt"); while($t = <FH1>){ print "☆".$t; } close(FH1); |
abc.txt を読み込み用に開きます。 $t に1行読み込み。(失敗したら5行目へ飛ぶ) 行頭に☆を付加して画面出力。 (2行目に戻る) abc.txt を閉じます。 |
◆ コマンドラインで下記のように指定 | |
C:\>perl abcd.pl efgh.txt | |
◆ abcd.pl の内容 | |
$t1 = <ARGV>; $t2 = <ARGV>; print STDOUT $t2; |
efgh.txt から1行読み込みます。 efgh.txt からもう1行読み込みます。 標準出力に2行目を出力します。 |
◆ 上記のスクリプトと全く同じ動きをします。 | |
$t1 = <>; $t2 = <>; print $t2; |
暗黙のうちに ARGV を指定。 同上。 暗黙のうちに STDOUT を指定。 |
While( |
処理ファイルから1行ずつ $_ に読み込み、 "zaco" は "ZACO" に置き換え。 "ざこ" は "雑魚" に置き換え。 $_ を画面表示する。 (1行目に戻る) |
While(<>){ s/zaco/ZACO/; s/ざこ/雑魚/; print; } | 同上。 |
C:\>perl -e "print 12 * 12;" |
"12×12の計算結果を画面表示せよ"という1行スクリプトとその結果。
![]() |
While(<>){ スクリプト } |
処理ファイルから1行ずつ $_ に読み込み、 指定されたスクリプトを実行する。 (1行目に戻る) |
C:\>perl -e "while(<>){ s/zaco/ZACO/; }" abcd.pl |
C:\>perl -ne "s/zaco/ZACO/;" abcd.pl |
While(<>){ スクリプト print; } |
処理ファイルから1行ずつ $_ に読み込み、 指定されたスクリプトを実行する。 $_ を画面表示する。 (1行目に戻る) |
C:\>perl -e "while(<>){ s/za/ZA/; print; }" abc.pl |
C:\>perl -pe "s/za/ZA/;" abc.pl |