空行での切り分け

結構書いているので新規にperlカテゴリ追加。


自分で作る blog ツールに倣って空行でヘッダと本文を切り分けてみる。配列に読み込んだテキストファイルをforeachで1行づつ処理、改行文字を削除した内容が空だったらlastで処理終了。そうでなければ$descriptionに内容を追加してshiftで処理済み行を削除。
予測では空行の前までを$descriptionに取り込み、配列から削除。残りを本文として処理する……予定だったが、実際にはヘッダが2行の場合最初の行のみを取り込み、3行では本文まですべてを取り込んでしまった。なんでだ。
ああそうか、配列についてのループ中に配列自身をshiftするから読み込むべき行がずれてしまうのか。カウントしておいて別途処理しよう。