Contents
【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
コメントを残す