[Mew-dist 07079] Re: 全部を選択するには

SAKAI Kiyotaka ksakai at example.com
1998年 12月 11日 (金) 17:56:13 JST


>> In article <19981211173120U.matsui at example.com>, matsui at example.com writes:

>     $head =~ //om

> が返ってきますので、//の中身が空だから直前のパターンが実行されているの
> ではないでしょうか? つまり意味のないコードには実は直前のパターンを必ず
> /:/にするという意味があったということで。(ヘッダにはたぶん必ず':'が含
> まれてますよね)

// でパターンマッチさせるとそういう意味になるのは知りませんでした。

すると、以下のパッチのように all, head, body で検索するときに pattern
が空であれば .* で検索するようにした方がよさそうですね。

# 結局は無条件にマッチするだけですので、「例外処理を正しく行う」程度の
# 意味しかありませんけど。
-- 
酒井 清隆 (E-mail: ksakai at example.com)

-------------- next part --------------
Index: IM/Grep.pm
===================================================================
RCS file: /home/ksakai/cvsroot/im-104/IM/Grep.pm,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Grep.pm
--- Grep.pm	1998/12/10 03:56:08	1.1.1.1
+++ Grep.pm	1998/12/11 08:52:11
@@ -321,8 +321,10 @@
 
 	     $pattern = make_japanese_pattern($pattern);
 	     if ($field eq 'body') {
+		 $pattern = ".*" unless $pattern;
 		 $string = "\$$field =~ /$pattern/om$case_flag";
 	     } elsif ($field =~ /^(all|head)$/) {
+		 $pattern = ".*" unless $pattern;
 		 $string = "\$$field =~ /$pattern/om$case_flag";
 	     } elsif ($field ne '') {
 		 $string = "\$head =~ /^$field:.*$pattern/om$case_flag";


Mew-dist メーリングリストの案内