Perlを使う2 〜 基本
◎変数
$str = 'apple'; print 'これは$strです。';
これだと、$strが文字列に置き換わらなかった。
文字列をダブルクォーテーション(")で囲って変数を展開するようにする。
$str = 'apple'; print "これは$strです。";
◎変数の後にローマ字が続く場合の書き方
連結演算子を使って、文字列を分割して書く。
$tall = '178'; print "身長は".$tall."cmです。";
文字列分割が面倒なら{}を使う。
$tall = '178'; print "身長は${tall}cmです。";
◎文字列の繰り返し
変数 x (繰り返し回数)で記述する。
#文字列繰り返し $c = "ABC"; $d = 3; print $c x $d, "\n";
◎論理積
これは想定していたのと動きが違った。
$true = 1; $false = 0; print ($true && $false), "\n";
出力結果は0。
booleanなるものがあって、trueやfalseが出力されると思っていたが、booleanはないらしい。
$true = 1; $false = 0; print ($false && $true), "\n";
これも出力結果は0。
◎while文を使用する際の特殊変数$_
open(IN,"input.txt"); while(<IN>){ print($_); }
読み込んだ値は$_という特殊な変数に格納される。
◎配列
・「@」から始めた変数は配列。
・末尾の要素の添え字は「$#変数名 」。
・配列をスカラー変数に代入すると、配列の個数が代入される
#配列 @array = ("配列要素1","配列要素2","配列要素3"); #配列の定義 print "\n"; print "末尾の要素の添え字".$#array; #末尾要素の添え字 print "\n"; $num = @array; #配列の個数の代入 print "要素の個数は".$num;
◎配列操作
・末尾への要素追加
@array = ("配列要素1","配列要素2","配列要素3"); @changed = push(@array,"追加要素"); print @changed; print @array;
「4」、「配列要素1配列要素2配列要素3追加」と表示される。
・配列末尾からの要素削除
pop(@array); print @array;
さきほど、pushした要素が削除されて元に戻る。
・配列の先頭要素への追加と削除
追加にはunshift、削除にはshiftメソッドを使用する。
unshift(@array,"先頭への追加要素"); print "\n"; print @array;
「先頭への追加要素配列要素1配列要素2配列要素3」と表示される。
文字列連結をすると、配列の要素数が表示される。。。
print "先頭要素への追加後=".@array;
「先頭要素への追加後=4」と表示される。これは、期待した動作ではなかった・・・。
◎クォート
@name = qw(mike fred kent peter); print @name;
「mikefredkentpeter」と表示。
@name = qw(mike fred kent peter); print "\n"; print $name[0]; print "\n"; print $name[1]; print "\n"; print $name[2]; print "\n"; print $name[3];
「mike fred kent peter」と表示。
print @name[0,1,2,3];
「mikefredkentpeter」と表示。