前後のスペースを削除する
s置換演算子を使います。
$val = ' foo '; $val =~ s/^ *(.*?) *$/$1/;関数にしておくとわかりやすいです。
$val = ' foo '; $val = trim($val); sub trim { my $val = shift; $val =~ s/^ *(.*?) *$/$1/; return $val; }スペースだけではなくタブなどの空白文字を削除したい場合は\sを使います。
sub trim { my $val = shift; $val =~ s/^\s*(.*?)\s*$/$1/; return $val; }先頭だけや末尾だけ削除することもできます。
# 先頭の空白文字を削除 sub ltrim { my $val = shift; $val =~ s/^\s*//; return $val; } # 末尾の空白文字を削除 sub rtrim { my $val = shift; $val =~ s/\s*$//; return $val; }
関連項目
・s置換演算子・最短一致