On Oct 21, 4:40 am, [EMAIL PROTECTED] (John W. Krahn) wrote: > Ariel Casas wrote: > > Hello all, > > Hello, > > > > > Any time I run a unix command where I initiate a variable > use the > > variable as an arg in the unix command > pipe it to another unix > > command, I get an error. This is the error I get: > > > --------------------------------------- > > ./test.1.pl > > Use of uninitialized value in concatenation (.) or string at ./test. > > 1.pl line 8. > > sh: syntax error at line 1: `|' unexpected > > 512 > > --------------------------------------- > > > -----Here is the contents of the perl script-------- > > > #!/usr/bin/perl -w > > The first three lines *should* be: > > #!/usr/bin/perl > use warnings; > use strict; > > > check_LANon () ; > > You call the subroutine check_LANon() but you haven't assigned anything > to $utadm_l yet. > > > $utadm_l = "/opt/SUNWut/sbin/utadm -l" ; > > > sub check_LANon { > > $LANstat = system(" $utadm_l | grep On") ; > > What information did you expect that system() would return? > > > print "$LANstat\n" ; > > } > > > ------------------------------------------------------------ > > > How can I run this succesfuly? I have other scripts that I need to do > > this with as well, but I can't since I always get this error. If I > > substitute $utadm_l with the actual command, it works fine. Only > > barfs when I use a variable. > > John > -- > Perl isn't a toolbox, but a small machine shop where you > can special-order certain sorts of tools at low cost and > in short order. -- Larry Wall
I think you need to use backtick for $utadm_l = `/opt/SUNWut/sbin/ utadm -l` -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/