Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: $var | system()

by kennethk (Abbot)
on Sep 05, 2012 at 16:34 UTC ( #991888=note: print w/replies, xml ) Need Help??

in reply to $var | system()

If by "multiline text" you mean feed it input via STDIN, you can explicitly open a pipe using open, e.g.
open my $stream, "| mail -s '123' email\" or die "pipe fail: $! +"; print $stream $text; # Or @lines, or $line1, $line2... close $stream; # Handle needs to close or go out of scope to clear buf +fer and send EOF

There are a large number of other possibilities here, depending on how complex you want to get: system; pipe, fork and exec; IPC::Open2; IPC::Open3... See perlipc for some gory detail.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://991888]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2017-11-20 23:32 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (294 votes). Check out past polls.