G'day perl514,
I'm wondering if the following was closer to what you had in mind:
perl -Mstrict -Mwarnings -E ' my $cmd = q{ping -c 5 www.perlmonks.org}; my $file = q{./pm_1031633.out}; open my $ping_pipe, "-|", $cmd or die "Pipe from $cmd failed: $!"; open my $out_fh, ">", $file or die "Write to $file failed: $!"; while (<$ping_pipe>) { print { $out_fh } $_; } '
$ cat ./pm_1031633.out PING perlmonks.org (66.39.54.27): 56 data bytes 64 bytes from 66.39.54.27: icmp_seq=0 ttl=45 time=264.646 ms 64 bytes from 66.39.54.27: icmp_seq=1 ttl=45 time=266.345 ms 64 bytes from 66.39.54.27: icmp_seq=2 ttl=45 time=266.284 ms 64 bytes from 66.39.54.27: icmp_seq=3 ttl=45 time=266.134 ms 64 bytes from 66.39.54.27: icmp_seq=4 ttl=45 time=263.832 ms --- perlmonks.org ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 263.832/265.448/266.345/1.023 ms
See open for many more examples.
-- Ken
In reply to Re: Correct way to capture command output to a file in Perl.
by kcott
in thread Correct way to capture command output to a file in Perl.
by perl514
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |