Perl で trim するときは

$string =~ s/^\s*(.*?)\s*$/$1/;

これでいける。

空白文字が0文字以上続いていて、任意の文字の0文字以上の連続ないしは0か1 (カッコ()で囲んだ部分にマッチした文字列は、置換文字列によって、特殊変数$1などとして参照される) で、その後また空白文字の0文字以上の連続の場合、
$1 に置き換える。

というものです。


ref.
http://chaichan.lolipop.jp/perlnote/perlnote2007-12-13.htm