我有一個Perl腳本,可以在屏幕上輸出多行輸出。我需要捕獲這些行,並將它們傳送到一個電子郵件(/ bin/mail)或一個文本文件中,以便在另一個操作中通過/ bin郵件發送。實際上,我已經找到了簡單(愚蠢)的方法,我使用bash包裝來做郵件。看起來像,如何將Perl的多行輸出發送到/ bin/mail?
#!/usr/bin/bash
source /nethome/zog/.bash_profile
cd /nethome/zog/bin/perl
/nethome/zog/bin/perl/find_free_space.pl > text.file
/bin/mail -s [email protected] [email protected] < text.file
我想要使用Net :: SMTP做smtp位。至少可以說,上述不雅。
我看到了這樣的事情:在計算器
open(MAIL, "| /bin/mail -s FreePorts me\@geemail.com") ||
die "mail failed: $!\n"; print MAIL "This is how it goes."
,但未能在標準輸出重定向到郵件。我使用的是:
$complete_output .= "\n"; "|/bin/mail -s FreePorts zog\@geeemail.com" || die "mail failed: $!\n";
我不知道,如果你都需要看到的Perl腳本,以幫助,但it is on pastebin。請告訴我。
你來得很近,請參閱http://stackoverflow.com/questions/655719/how-do-i-unalias-from-perls-stdout – msw 2010-09-23 03:34:33