http://qs321.pair.com?node_id=118366


in reply to Another Q about piping Perl

Well, the error message about being unable to modify <HANDLE> might be considered a bit of a clue: grab the input, and modify it separately:

echo $HOME/Mail/* | perl -e 'while (<STDIN>) { s/sent-mail//; print "$ +_"}'

Or just use the -p option, and really make it look like your sed command:

echo $HOME/Mail/* | perl -p -e '/sent-mail//'

update:Whoops. Of course, the missing s before the substitution string was meant as an exercise for the reader ;) echo $HOME/Mail/* | perl -p -e 's/sent-mail//'

But personally, I'd stick with sed, if I've got the choice: it's less memory hungry for such simple tasks

Replies are listed 'Best First'.