Deb wrote:
>
> I need help understanding why I'm getting this complaint,
>
> Use of uninitialized value in concatenation (.) or string at test.pl line 2.
>
> It says its unitialized, but isn't the my $status initializing the scalar?
> I'm so confused.
>
> Here's the code:
>
>
> #!/usr/local/bin/perl -w
> my $status = `ps -ef | /bin/egrep '/usr/lib/sendmail' | /bin/grep -v grep | awk 
> '{print $2}'`;
> print $status;
> if ($status) {
>    print "We have sendmail\n";
> } else {
>    print "We don't\n";
> }
>
> And the output:
>
> Use of uninitialized value in concatenation (.) or string at test.pl line 2.
>     root 19460     1  0   Dec 18 ?        0:08 /usr/lib/sendmail -bd -q15m
> We have sendmail

Hi Deb.

Perl is trying to expand $2 in your string. Since Perl's $2 is undefined it
gives you the warning (full marks for using -w but 'use strict' would help
even more).

Change it to

  awk '{print \$2}'

and it should work for you.

HTH,

Rob



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to