本サイトはプロモーション(広告)が含まれています。

【Perl】chomp関数の使い方について(文字列の末尾の改行コードを削除)

【Perl】chomp関数の使い方について(文字列の末尾の改行コードを削除)

chomp(変数):文字列の末尾の改行コードを削除。

 chomp関数を使用することで文字列の末尾の改行コードを削除することができます。

 また、改行コードはCR+LF (\r+\n)やLF (\n)などいずれも対応可能です。

 以下のサンプルプログラムの実行結果のとおり改行コードの種類に問わず、改行コードが削除されていることを確認できます。

#改行コードがLF (\n)の場合
my $str = "test\n";
print "$str\n";
chomp($str);
print "$str";
// 実行結果
test

test
#改行コードがCR+LF (\r+\n)の場合
my $str = "test\r\n";
print "$str\n";
chomp($str);
print "$str";
// 実行結果
test

test

chomp関数で削除した改行コードを変数として受け取れる

$変数1 = chop($変数2); chop関数で削除した変数2の最後の改行コードを変数1が受け取る

 chomp関数で削除した改行コードを上記のとおり変数として受け取れば使用することができます。

my $str = "test\n";
my $cp = chop($str);
# 削除された変数
print "$str\n";
# 削除した改行コードを受け取った変数
print "$cp";

// 実行結果
test


 $cpは$strの改行コードを受け取っているため、改行コードが出力されています。

文字列の途中の改行コードは受け取らない

 chomp関数で削除できる改行コードは末尾にあるもの限定となります。

 したがって、次の場合は改行コードは削除されません

my $str = "te\nst";
my $cp = chomp($str);
print "$str";

// 実行結果
te
st

末尾に改行コードは存在しない場合、処理結果は変わらない

 chomp関数で末尾に改行コードが存在しない場合は文字列に変更はありません。

my $str = "test";
print "$str\n";
chomp($str);
print "$str"

// 実行結果
test
test

Perl の記事一覧へ

PAGE TOP