2024/02/13 22:13:39

Perl標準関数: chomp

chomp VARIABLE chomp( LIST )

chomp 関数は、スカラーもしくはリストを引数とし、末尾の改行を取り除きます。 リストを引数とした場合は、それぞれの要素の末尾を chomp します。 末尾の「改行」を取り除くかどうかは $/ ($INPUT_RECORD_SEPARATOR)の設定によります。(ref. perlvar) chomp 関数は、chop 関数と違って、なんでも取り除いてしまうわけではありません。 VARIABLE が省略された場合は、$_ を対象に chomp します。

chomp サンプルコード

改行を取り除く

my $str = "foo\n";

chomp $str; # "foo"

リストにかければ、それぞれの要素の改行を取り除きます

my @list = (
    "foo\n",
    "bar\n",
    "baz\n",
);

chomp @list; # ("foo", "bar", "baz")

特殊変数で、改行以外の文字を取り除くようにすることもできます

$/ = "r";

my $str = "bar";

chomp $str; # ba

空にすると、全部なくなってしまいます

$/ = "";

my $str = "foo\n";

chomp $str; # blank!!

=pod

  When in paragraph mode ("$/ = """), it removes all trailing newlines from the string.
  When in slurp mode ("$/ = undef") or fixed-length record mode
  ($/ is a reference to an integer or the like, see perlvar) chomp() won't remove anything.

=cut
サイト内検索