On Sun, 31 Aug 2008 12:51:13 +0900
藤岡和夫 <kazuf@...> wrote:
> 「$は文字列の末尾に、もし末尾に改行文字がある場合にはその直前にマッチ
> する」というのは、Perlでは常識ですから。
すみません。言葉に惑わされていました。
自分の書いた「実践実用Perl」を見直していると、$のマッチする場所として
書いているのですが、改行の後でも$はマッチする場合があります^^;)
例えば、
while(<>){
if(/^a$/){
print;
}
}
は、
^-----
a
-----$
にマッチして出力しますから、$は改行の前でマッチします。
ところが、
while(<>){
if(/^a\n$/){
print;
}
}
としてもマッチしますから、$は改行の後でマッチします。
これが、Perlで実用的に問題になるのは、[^\w]というような表現を使った場
合、意図せずに行末の改行にマッチしてしまう場合です。
藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html