chomp関数 - 改行を削除する
chomp関数を使用すると、改行を削除することができます。
# 末尾の改行を削除 chomp $line;
chomp関数は、特殊変数「$/」に設定されている改行文字を取り除きます。
Windows、Linux/UNIX、Macでは16進数で「\x0A」です。旧Macでは16進数で「\x0D」です。
改行コードの表現に依存しないで改行を削除する
現実的に存在すると考えられる改行コードは「\x0A」「\x0D」「\x0D\x0A」の3種類です。
これらの改行コードを、その違いを意識しないで削除するには、正規表現を使って、次のように記述します。
# 環境に依存しないで末尾の改行を削除 $string =~ s/\x0D?\x0A?$//;
サンプル
chomp関数を使ったサンプルです。
use strict; use warnings; my $message = "I like a cake.\n"; # 行末の改行を削除する chomp($message); print $message;