Newsgroups: fj.lang.perl
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!etl.go.jp!trc.rwcp!rwc-tyo!news.iij.ad.jp!news.sun.co.jp!sunj-gate.Japan.Sun.COM!news2me.EBay.Sun.COM!venus.sun.com!cs.utexas.edu!swrinde!howland.reston.ans.net!news.sprintlink.net!news.gdbnet.ad.jp!sinetnews!newssinet!news.ipc.chiba-u!news.tj.chiba-u!asada
From: asada@ics.tj.chiba-u.ac.jp (Takuya Asada)
Subject: Re: [Q] about Perl program
Message-ID: <DBnrL8.H1@ics.tj.chiba-u.ac.jp>
Sender: usenet@ics.tj.chiba-u.ac.jp
Nntp-Posting-Host: icsj6.tj.chiba-u.ac.jp
Organization: Chiba-University
References: <ST13261.95Jul13173818@srv.cc.hit-u.ac.jp>
Date: Thu, 13 Jul 1995 14:15:07 GMT
Lines: 128
Xref: galaxy.trc.rwcp.or.jp fj.lang.perl:428
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.perl&nb=428&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.

$B$"$5$@$J$N$G$9!#(B

>   $B;d$O(BPerl$B$NJY6/$N$?$a$H!"<~$j$NCN?M$N$?$a$H$G!"0J2<$N$h$&$J!"(BUNIX$B$N%a!<(B
> $B%k7A<0$N%U%!%$%k!J%G%U%)%k%H$G(Bmbox$B!K$r:9=P?MKh$KJ,3d$9$k$h$&$J$b$N$r=q(B
> $B$$$?$N$G$9$,!"%7%9%F%`4IM}<T$N?M$K8+$F$b$i$C$?$H$3$m!"%P%0$,$"$k$H8@$o(B
> $B$l$^$7$?!#(B

> $B$J$*!"%P%0$r$I$&D>$9$+$O(B RFC822,RFC823 $B$J$I$NEE;R%a!<%k$N=q<0$NF~$C$F(B
> $B$$$k%$%s%?!<%M%C%H%I%-%e%a%s%H$,I,MW$J$h$&$G$9!#(B

$B$&!<$s!D$H$j$"$($:(B RFC $B$H$$$&$N$OEE;R%a!<%k$H$+%M%C%H%K%e!<%9$J$I$N!"(B
Internet $B$G;H$o$l$F$$$k?'!9$J%W%m%H%3%k$N5,3J$rDj$a$?J8=q$@$H;W$C$F(B
$BD:$1$l$P$$$$$H;W$&$G$9!#(B

# $B$3$N>l9g!"%$%-%J%j(B RFC $B$rFI$s$G!"LdBjE@$,$o$+$k$+$I$&$+$O<c43$N(B
# $B%.%b%s$,$"$j$^$9$,!D!#(B

>   $B$I$3$,!"$I$&$$$C$?M}M3$G%P%0$,5/$-$k$N$+!"$I$&D>$;$P$$$$$N$+$J$I65$((B
> $B$F2<$5$k$H=u$+$j$^$9!#(B

$B$3$N>l9g$NLdBjE@$O!"%a!<%k$N6h@Z$j$K$J$C$F$$$k(B "From $BC/!9(B $B!D(B" $B$H$$$&(B
$B9T(B ($B$$$o$f$k(B UNIX From $B9T(B) $B$rC5$9$N$K!"(B

> if (/^From.*1995/){

$B$H$$$&@55,I=8=$r;H$C$F$$$k$3$H$G$9$M!#$3$l$G$O(B

  $B#1!%:#G/Cf$7$+;H$($J$$(B
  $B#2!%;~7W$,68$C$F$k%^%7%s$,$"$k$H:$$k(B
  $B#3!%%a!<%k%X%C%@$N(B "From:" $B9T$K$b%^%C%A$9$k$N$G!"$?$^$?$^(B "1995" 
      $B$,4^$^$l$?(B From: $B9T$,$"$k$H!"$=$3$G$*$+$7$/$J$k!#(B

$B$J$I$J$I!"%b%s%@%$$,$"$k$G$9!#(B

$B$"$H$O$^$!!"7k9=%`%@$,B?$$$G$9$M!#Nc$($P0lEY(B split $B$7$F$+$i(B splice 
$B$r;H$o$J$/$F$b(B

$writer = (split(/ /,$from))[1];

$B$G$*$C$1!<$G$9$7!"%Q%?!<%s%^%C%A$r;H$($P(B split $B$9$kI,MW$b$"$j$^$;$s!#(B
$B$^$?!"(Bopen $B$9$k%U%!%$%k$b%o%6%o%6JL$NJQ?t$K<}G<$7$J$/$F$b!"(B

open($B%U%!%$%k%O%s%I%k(B, $B%Q%9(B);

$B$N$h$&$K;XDj$G$-$^$9!#(B

$B$H$j$"$($:!"$^$!!"B>$K$bJ}K!$O$"$k$G$7$g$&$1$I(B ($B$J$s$;(B "There's More 
Than One Way To Do It" $B$H$$$&%]%j%7!<$N8@8l$G$9$+$i$M$'!D(B) $BBgBNF1$8(B
$B$h$&$JF0:n$r$9$k%9%/%j%W%H$O!"$3$s$J%+%s%8$G$7$g$&$+!#(B

-----------------------------------------------------------------
#!/usr/local/bin/perl
while (<>) {
if (/^From (\S*)/) { open (F, ">> $MBOX/$1.mail"); }
print F;
}
-----------------------------------------------------------------

>   $B$A$J$_$K<+J,$O%a!<%k$NAw<u?.$J$I$O(BMule$B>e$G9T$J$C$F$$$k$N$G$9$,!"(BMule
> $B$N(BRMAIL$B7A<0$N%U%!%$%k$r:9=P?MKh$KJ,3d$9$k$K$O$I$N$h$&$K$9$l$P$$$$$N$+!"(B
> $B%R%s%H$r$$$?$@$1$^$9$H!"Hs>o$K=u$+$j$^$9!#(B

Mail-from $B%U%#!<%k%I$KF~$C$F$$$k!"$b$H$N(B UNIX From $B9T$r$b$H$KJ,N`(B
$B$9$k$N$G$7$?$i!"$H$j$"$($:$3$s$J$H$3$G$7$g$&$+!#0lC6(B @buf $B$H$$$&(B
$BG[Ns$K!"C_$($F$*$/$N$,%_%=$G$7$g$&!#(B

# $* $B$r;XDj$9$k$H!"$b$C$H%(%l%,%s%H$+$b$7$l$^$;$s!#(B

$B$=$N>l$KJ,3d$7$?%U%!%$%k$r%P%i;5$/$N$b%J%s$J$N$G!"(B~/mail $B$H$$$&(B
$B%G%#%l%/%H%j$K$^$H$a$k$3$H$K$7$^$7$?!#(B

-----------------------------------------------------------------
#!/usr/local/bin/perl

# $B%a!<%k$r<}G<$9$k%G%#%l%/%H%j(B
$MBOX = "$ENV{'HOME'}/mail";
(-d $MBOX) || mkdir($MBOX, 0700) || die $!;

while (<>) {
if (/^\037/ && defined $from) {
(-f "$MBOX/$from") || &newbox("$MBOX/$from", 0700);
open(F, ">> $MBOX/$from") || die $!;
print F "\f";
for (@buf) { print F; }
print F "\037";
undef @buf;
undef $from;
next;
} elsif (/^Mail-from: From (\S+)/) {
$from = $1;

# If there's no Mail-from: field, i'll get it from From: field...
} elsif (!defined($from) && /^From:\s+(.*)/) {
$from = $1;
if ($from =~ /\S+\s+<(\S*)>/) { $from = $1 }
elsif ($from =~ /(\S)+\s+\(\S*\)/) { $from = $1 }
}
push(@buf, $_);
}

sub newbox {
local($fn, $mod) = @_;

open(F, "> $fn") || die $!;
chmod($mod, $fn) || die $!;
print F <<'EOH';
BABYL OPTIONS:
Version: 5
Labels:
Note:   This is the header of an rmail file.
Note:   If you are seeing it in rmail,
Note:    it means the file has no messages in it.
EOH
print F "\037";
close(F) ;
}
-----------------------------------------------------------------

$B$?$@$7!"#M#L$J$I$KF~$C$F$$$k>l9g$J$I!"(BMail-from: $B$GJ,3d$9$k$H%$%^%$%A(B
$B4r$7$/$J$$>l9g$b!"7k9=$"$k$G$9$M!#7k6I!"!V%X%C%@L>!"FbMF!"<}G<$7$?$$(B
$B%U%!%$%k!W$J$I$r=q$$$?%k!<%k%U%!%$%k$r;2>H$9$k$h$&$K2~NI$7$?$/$J$k$H(B
$B;W$&$G$9(B ($B@N:n$C$?$b$N$,$"$k$G$9(B)$B!#(B

$B$G$b!"0lHV$F$C$H$jAa$$2r7hJ}$O!"(Brmail $B$r$d$a$F(B chain-mail $B$"$?$j$K(B
$B>h$j49$($k$3$H$G$7$g$&(B ^^

$B$"$5$@(B $B$?$/$d(B

