Perlで空白行を削除する方法は何ですか?
Perlの空白行を削除する方法はいくつかありますが、一般的な方法のひとつは次の通りです:
- 空行を削除するために正規表現を使う:
while (<>) {
next if /^\s*$/; # 如果行只包含空格或制表符,则跳过
print;
}
入力ファイルの各行を読み取るために、< > 演算子を使用します。/^ \ s * $ / の場合は、スペースまたはタブのみを含む行をスキップします。残りの行は印刷されます。
- chomp関数を使用して空白行を削除します。
while (<>) {
chomp; # 删除行末尾的换行符
next if /^\s*$/; # 如果行只包含空格或制表符,则跳过
print $_ . "\n";
}
chomp関数は行の末尾の改行文字を削除するために使用されます。その他の部分は最初の方法と同じです。
- 配列とgrep関数を使用して空白行を削除します。
while (<>) {
push @lines, $_; # 将每一行存储在数组中
}
@lines = grep { /\S/ } @lines; # 使用grep函数删除只包含空格或制表符的行
foreach my $line (@lines) {
print $line;
}
@linesに各行を保存し、grep関数と正規表現/\S/を使用して、空白またはタブのみの行をフィルタリングします。最後にforeachループを使用して残りの行を出力します。
これらの方法はすべて空白行を削除することができますが、具体的にどの方法を使用するかは、あなたのニーズや個人の好みによります。