> cat tst:
>
> #!/usr/local/bin/perl
>
> use strict;
> use warnings;
>
> my $cmd = 'ls /';
>
> open my $ch, '-|', "$cmd" or die "Can't open $cmd: $!";
>
> while ($ch) {
>   print;
> }

I believe you meant:

while (<$ch>)

HTH, Ken

On Sun, Nov 2, 2014 at 5:22 PM, Harry Putnam <rea...@newsguy.com> wrote:

> Intermittent programming can lead to brain bleed off.
>
> In the real script the command is something only found on solaris or
> any other zfs filesystem so I just used the first simple command I
> could think of.  But the aim is to use the output of a command to
> perform a string match.  I left that out too, because even when
> reduced to its most basic code `tst' still fails in the same way.
>
> This little example below prints this error .. forever.
>
>   Use of uninitialized value $_ in print at ./tst line 11.
>
> My first impulse was that I had the `dash' with the pipe operator on
> the wrong side... but changing it does the same thing.
>
> What is wrong with this example:
>
> cat tst:
>
> #!/usr/local/bin/perl
>
> use strict;
> use warnings;
>
> my $cmd = 'ls /';
>
> open my $ch, '-|', "$cmd" or die "Can't open $cmd: $!";
>
> while ($ch) {
>   print;
> }
>
>
>
> --
> To unsubscribe, e-mail: beginners-unsubscr...@perl.org
> For additional commands, e-mail: beginners-h...@perl.org
> http://learn.perl.org/
>
>
>

Reply via email to