スマイル!

2次元配列の練習の為に、スマイルマークを表示するプログラムを作ってみました。

# smile.pl
 
my $smile = [
	[ 0, 0, 1, 1, 1, 1, 0, 0 ],
	[ 0, 1, 0, 0, 0, 0, 1, 0 ],
	[ 1, 0, 1, 0, 0, 1, 0, 1 ],
	[ 1, 0, 1, 0, 0, 1, 0, 1 ],
	[ 1, 0, 0, 0, 0, 0, 0, 1 ],
	[ 1, 0, 1, 0, 0, 1, 0, 1 ],
	[ 1, 0, 0, 1, 1, 0, 0, 1 ],
	[ 0, 1, 0, 0, 0, 0, 1, 0 ],
	[ 0, 0, 1, 1, 1, 1, 0, 0 ],
];
 
for $row (@$smile) {
	for $dot (@$row) {
		print $dot ? '■' : ' ';
	}
	print "\n";
}

$smile に表示する絵を2次元配列で入れています。表示は for ループ(foreach ループ)で行なっています。とても簡潔に書けますね。(^_^)
最初の for ループは各列(row)分繰り返し、その中の for ループは各行(column)分繰り返しています。列の終わりで改行しています。
実行結果です。

  ■■■■  
 ■    ■ 
■ ■  ■ ■
■ ■  ■ ■
■      ■
■ ■  ■ ■
■  ■■  ■
 ■    ■ 
  ■■■■  

にこっ。