in reply to reading unix command with open syntax error
That error message means that you have a string (specifically " '{print $1,$2 }' |") where a string shouldn't be. While you intended to write only one string for the piped open, you have two strings, thanks to the field separator passed to awk. This is a good use of an alternate quoting construct:
open my $IN, q!ps -aux | awk -F" " '{print $1,$2 }' |! or die "Can't open pipe";
I switched to the non-interpolating form because you probably don't want to interpolate the regexp match variables $1 and $2 into your string there.
Of course, you could skip the pipe to awk and process the result with Perl (split) will come in handy....
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: reading unix command with open syntax error
by csarid (Sexton) on Mar 17, 2009 at 14:44 UTC | |
by chromatic (Archbishop) on Mar 17, 2009 at 19:07 UTC |