マルチユーザカードゲームの状態モデルを作成した。 また、分散プログラミングについての若干勉強した。
% perl print 1+2 3%perlというコマンドと、 print 1+2というプログラムを一行で書くことができる。
% perl -e 'print 1+2' 3%コマンドにするなら、
% alias calc 'echo print \!* | perl -l'と -lを付け加えるので十分だ。
while(<>) { # 一行ずつ終わりまで読み込んで
print; # それを、そのままプリントする
}
while(<>) {
$len = length;
$max = $len if($len > $max);
}
print $max, "\n";
一行の長さを $lenにとり、それが $maxよりも大きかったら{\tt
$max}を入れ換える。基本的な条件判断を以下のように一行ですましている。
$max = $len if($len > $max);このように、一つの文の終わりに「もし $len > $maxだったら」とい う条件をつけられる。なんか英語っぽくない気もするが、 unlessという のも使えるので、そちらの方は英語らしくなる。
$max = $len unless ($len <= $max);
perl -pe 's/\n/\r\n/'これで自動的に一行ずつ読み込んで置換して printをしてくれる。これは、
while(<>) {
s/\n/\r\n/;
print;
}
と同じである。もっと簡単には、
while(<>) {
chop; print; print "\r\n";
}
さらになんとPerlのオプションには printしないループをつくってくれ
る -nと自動的に chopをする -lというのがあるので、
perl -nle 'print "$_\r\n"'ということになる。