グリッドのような方法で関連付けられているデータを含む HTML ファイルを解析しています。以前は空白行をすべて削除する必要があると考えていましたが、グリッド内の一部のフィールドが空白であることに気付きませんでした。私は今、Tie::File モジュールを使用してファイルを配列に保存し、それを反復処理しようとしています。3 つの連続する空白行がある場合は、後で操作できるダミー値を挿入して、空白行を削除したいと考えています。私のデータの構造を変更しません。
これまでに試したこと(ファイルは〜2 MBです):
my @lines;
my $num = 0;
tie @lines, 'Tie::File', 'results.txt';
(tied @lines)->defer;
foreach (@lines)
{
chomp $lines[$num];
$num++;
if ($lines[$num-1] =~ /^$/ && $lines[$num+1] =~ /^$/)
{
$lines[$num] = "null";
}
}
(tied @lines)->flush;
untie @lines;
編集:配列を繰り返し処理して値を挿入し、各行の間にスペースを 1 つだけ入れて、後ですべての空白行を削除するにはどうすればよいですか?