空行を区切り文字として読み込む


 普通にファイルを読み込むと一行ずつの読み込みになりますが、特殊変数$/に空文字を設定することで、空行を区切りにデータを読み込むことができます。
 そのまま$/を変更するとプログラム全体に影響を及ぼすのでlocalで影響範囲を限定した方が良いです。
ここからプログラム
{
	local $/ = '';
	while (my $line = <DATA>) {
		chomp $line;
		print "=== BEGIN\n";
		print $line, "\n";
		print "===== END\n\n";
	}
}

__END__
aaa
bbb

ccc

ddd

以下、実行結果
=== BEGIN
aaa
bbb
===== END

=== BEGIN
ccc
===== END

=== BEGIN
ddd
===== END

関連項目

ファイルを一文字列として読み込む