[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:00121] Re: ソートするとメールが消えてしまいます
大原です。
解決しっぱなしではアレですので、summary もどきです。
ito@xxxxxxxxxxxxxxxxxxxxxxxxx (Toru Ito) さんの、
"Fri, 25 Jun 1999 07:50:16 +0900" にだした、
「[mhc:00114] Re: ソートするとメールが消えてしまいます 」というメールにて…… :
> pan> 大原さん、こんばんは、お陰様で正常に動作致しました。(__)
> 無事動かれた様で、良かったです!
> # 結局…お役に立てなくて申し訳無かったですm(__)m
伊藤さんからの情報もとても役に立ちました。ありがとうございます。
> # って事はimlsも"imls"だけで動きません? (感だけで言ってますが…^^;)
これは、imls へ PATH が通っていさえすれば "imls" だけで動きますね。
mscan2 の中で、perl を "-S" オプション付きで起動しているので、
perl が imls を PATH から探し出してくれるからです。
で、乃村さんからも指摘があったように、環境変数 PATH は、
Meadow の exec-path から継承されることはないです。
で、どうなるかということなんですが、どうも、
AUTOEXEC.BAT で設定しておいた PATH が参照されるようです(憶測)。
なので、Windows95/98 では、mhc の通常のインストール手順の他に、
・perl.exe と imls に (環境変数) PATH を通っているか確認する。
・mscan2 の中で、
$SCAN = "imls"; $PERL = "perl";
を設定する。
・HOME が設定されていなければ、$MailDir に適当なディレクトリを設定する。
とすれば mhc がきちんと動く、ということになります。
#Mew/IM をふつ〜にインストールすると、
#perl.exe や imls には PATH が通っていると思います。
というわけで、結論ですが、mscan2 のデフォルトの設定は、
$SCAN = "imls";
$PERL = "perl"; ## Only Win95/98 needs this.
にしておいた方が良いと思います。
これでハマるひとは、cron で生 today を起動してるひと(ていうか私)
くらいだと思います。
最後に、Win95/98 でも動く today を添付します。
perl -S today --mail=os@xxxxxxxxx --tilltomorrow
みたいな内容のバッチファイルを用意して、
深夜零時すぎか、朝一で起動すると嬉しいかも知れません。
----
OHARA Shigeki (大原重樹) <os@xxxxxxxxx>
#!/usr/local/bin/perl
$IMPUT = 'imput';
$MSCAN2 = 'mscan2';
$PERL = 'perl'; ## for only WIN95/98.
#$USER = 'user';
if ($^O =~ /win/i) {
## for only WIN95/98.
# $MSCAN2 = "$PERL -S $MSCAN2";
$IMPUT = "$PERL -S $IMPUT";
}
($sec, $min, $hour, $day, $mon, $year) = localtime(time);
$year += 1900; $mon++;
foreach (@ARGV) {
$tilltomorrow = 1 if (/^--tilltomorrow$/);
$address = $1 if (/^--mail=(.+)/);
}
$USER = $USER ||
$ENV{'USERNAME'} || $ENV{'USER'} || $ENV{'LOGNAME'} || $address;
if ($^O =~ /win/i) {
$schedule = `$PERL -S $MSCAN2 --date=today`;
$schedule2 = `$PERL -S $MSCAN2 --date=tomorrow` if ($tilltomorrow);
} else {
$schedule = `$MSCAN2 --date=today`;
$schedule2 = `$MSCAN2 --date=tomorrow` if ($tilltomorrow);
}
exit(0) if (($schedule eq '') && ($schedule2 eq ''));
if ($address) {
open(STDOUT, "| $IMPUT $address");
select STDOUT; $| = 1;
print "To: $address\n";
print "From: secretary-of-$address\n";
print "Subject: Today's schedule ($year-$mon-$day).\n";
print "\n";
print "${USER}'s schedule ($year-$mon-$day):\n\n";
}
print $schedule if ($schedule);
if ($schedule2) {
($schedule) ? print "\n" : print "Tomorrow ... :\n\n";
print $schedule2;
}
close(STDOUT);
exit 0;