前後のスペースを削除する


 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置換演算子
最短一致