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