前後のスペースを削除する
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置換演算子・最短一致
