「はじめてのPerl」第6章
練習問題2
自分の解答|
chomp(my @list = <STDIN>); foreach (1..3) { foreach (1..9, 0) { print $_; } } print "\n"; foreach my $str (@list) { printf "%20s\n", $str; }
解答例
print "1234567890" x 7; foreach (@lines) { printf "%20s\n", $_; }
- 文字列を指定回数繰り返す時には、"x"を使う。
練習問題3
foreach (1..($width/10 + 1)) { foreach (1..9, 0) { print $_; } } print "\n"; foreach my $str (@array) { printf "%" .$width ."s\n", $str; }
解答例(一部)
foreach (@lines) { printf "%${width}s\n", $_; }
- スカラー変数と文字列を明確に区切るときは、${width}のように{}を使う
- $_はそのままでいい。