My Perl script
要监视Unix上的目录,请存储在其监视的目录更新时向其发送通知邮件的用户列表。
这是使用的结构
迪尔蒙
my $subject = '...';
my $msg = '...';
my $sendto = 'a@server.com b@server.com c@server.com';
my $owner = 'me@server.com';
...
open my $fh, "|-", "mail", "-s", $subject, $owner, "-c", $sendto
or die "$0: could not start mail: $!";
print $fh $msg or warn "$0: print: $!";
close $fh;
所以,现在,对于每个新用户,
我要将通知邮件发送到,我需要转到代码并将它们添加到
$sendto
. 这对我来说很好,但是我希望稍后将该实用程序分发给用户,并且不希望他们手动将地址添加到列表中,至少不要直接编辑Perl代码。
我能想到两种选择
-
维护包含收件人列表的外部文件。我可以添加一个标志,这样当用户说
dirmon.pl -a d@server.com
,电子邮件地址将附加到文件中,下次发送邮件时,邮件也将发送给此收件人。(
dirmon.pl -r d@server.com
从列表中删除用户)。唯一的问题是,我需要在脚本中多有一个外部文件,我正试图将其最小化。
-
我可以在
"Can a perl script modify itself?"
. 我不确定这是不是个好主意。
第一条路是最好的路吗?有没有更好的方法来维护收件人列表?