Newsgroups: fj.unix
Path: galaxy.trc.rwcp.or.jp!news.trc!nf2.iij.ad.jp!nr0.iij.ad.jp!news.iij.ad.jp!rim.or.jp!tamaru-news!kuee-news!kuis-news!news.cs.ritsumei.ac.jp!news2.cs.ritsumei.ac.jp!newshub.bkc.ritsumei.ac.jp!cancer.nca5.ad.jp!nfeed.gw.nagoya-u.ac.jp!vega2!ccsatoru
From: ccsatoru@vega.aichi-u.ac.jp (Satoru Takabayashi)
Subject: Re: [Q] usgae "tr" or "sed"
Sender: news@vega2.aichi-u.ac.jp (News Master)
Message-ID: <EMLwx5.3It@vega2.aichi-u.ac.jp>
Date: Sun, 11 Jan 1998 06:34:17 GMT
Lines: 46
References: <87pvm1j5jm.fsf@imasy.or.jp>
	<EMLMyo.1uI@vega2.aichi-u.ac.jp>
Nntp-Posting-Host: saturn.aichi-u.ac.jp
Organization: Aichi University Computer Center, Aichi University, Aichi, Japan.
X-Newsreader: mnews [version 1.20] 1996-12/08(Sun)
Xref: galaxy.trc.rwcp.or.jp fj.unix:4022
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.unix&nb=4022&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$B9bNS(B@$B0&CNBg3X$H?=$7$^$9(B

arisawa@vega2.aichi-u.ac.jp wrote:

>$BF~NO(B stream $B$K4^$^$k$F$$$k(B "alice" $B$r(B "bob" $B$K!"(B"bob" $B$r(B "alice" $B$KJQ49(B
>$B$7$?$$$H$7$^$9!#(B
>$BB($A!"(B
>.......alice....bob......
>$B$r(B
>.......bob....alice......
>$B$KJQ49$9$k$N$,L\I8$G$9!#(B
>$B$3$N>l9g%W%m%0%i%`$O(B"alice"$B$^$?$O(B"bob"$B$,8+$D$+$k$^$G<u$1<h$C$?%G!<%?$r<!!9$K(B
>$B=PNO$G$-$^$9!#(B"alice"$B$,8+$D$+$l$P(B"bob"$B$KJQ49$7$FD>$A$K=PNO$G$-$^$9!#(B
>$B$3$N$3$H$r$d$C$F$/$l$k%D!<%k$K$O$I$N$h$&$J$b$N$,B8:_$9$k$G$7$g$&$+!#(B
>($B9TC10L$K=hM}$9$k%D!<%k$OA4$FITE,3J$H$7$^$9(B)

Perl $B$G$b(B getc $B$r;H$($P(B C $B$HF1$8$h$&$K(B 1 byte $B$E$D=hM}$9$k$3$H$b$G(B
$B$-$k$H;W$$$^$9$,!"$=$s$J$3$H$r$9$k$/$i$$$J$i(B C $B$G=q$$$?J}$,NI$5$=(B
$B$&$G$9!#9TC10L$G=hM}$7$F$bNI$$$N$J$i$P0J2<$N$h$&$J%W%m%0%i%`$,9M$((B
$B$i$l$k$N$G$9$,!D!#(B

-- $B%W%m%0%i%`$3$3$+$i(B --
#!/usr/bin/perl

# $BJQ49I=$rDj5A(B ($B;q8;$N5v$98B$j9%$-$J$@$1Dj5A$G$-$k(B)
%table = (
    'alice' => 'bob',
    'bob'   => 'alice',
);

# $BJQ49I=$r85$KCV49MQ$N@55,I=8=$r:n@.(B ($B%*%"5-9f$G7k$V$@$1(B)
$regexp = join('|', keys %table);

# $BI8=`=PNO$N%P%C%U%!%j%s%0$rM^@)(B
$| = 1;

# $BJQ49(B & $B=PNO$r9T$&(B
while (<>) {
    s/($regexp)/$table{$1}/ge;
    print;
}

-- $B%W%m%0%i%`$3$3$^$G(B --

--
$B9bNS(B $BE/(B Satoru Takabayashi
