「はじめての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", $_;
}
  1. 文字列を指定回数繰り返す時には、"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", $_;
}
  1. スカラー変数と文字列を明確に区切るときは、${width}のように{}を使う
  2. $_はそのままでいい。