正規表現の\sって\nにもマッチするんだな

先日の「ノートを整形してまとめて自分宛にメールで送るスクリプト」を書いていて気付いたのだけれど、文字列中に入ってる\nって\s扱いなのね。例えば

$foo = "hoge\nmoe";
print $foo =~ /e\sm/;

とかやったら答えが1になってびっくりした。途中に改行が出て来る文字列をそのままでパターンマッチにかけるなんて普段あまりやらない(大抵は行ごとにバラして chomp かけてからいじるから)ので気付かなかった。「うわー素人臭い」とか笑われてもいいから忘れないように書いておこう。