← Back to team overview

sslug-teknik team mailing list archive

perl -p -e

 

Hvorfor skriver perl stdin ud?

Jeg har en one-liner:

grep  "Relaying denied" /var/log/mail.log.0|awk '{print $6}'|grep -f -
/var/log/mail.log.0|grep -v "Relaying denied"|awk '{print
$7}'|sort -u|perl -pe 'print "$1\n" if /\@(.*)>/'

(Skulle skrive de domainer, der får "relaying denied")

perl printer både $_ og $1.

Eller mere simpelt:
 # echo -e "a\nb"|perl -pe 'print "-------\n"'
-------
a
-------
b
 #
Jeg ville bare forvente:
------
------

Hvorfor kommer input (a og b) med ud?

Leif





Follow ups