Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Okay I have cleaned it up a little bit

by blazar (Canon)
on Feb 15, 2007 at 17:47 UTC ( [id://600255]=note: print w/replies, xml ) Need Help??


in reply to Okay I have cleaned it up a little bit

I have taken your computer feedback to heart and cleaned up my code a little bit - I think this a lot more perl like and pretty technical.

Indeed this does look more like Perl, but code must not be "perl like", it must have valid Perl syntax... well, if you want it to be valid Perl, and the program to work, that is. Also, it doesn't seem "pretty technical". It seems pretty basic, errors apart.

#!/usr/bin/perl -w use strict;

It's very very good that you're under strictures and warnings, but with recent enough perls it's better (i.e. more flexible) to

use warnings; # rather than -w
system "netbackup/bin/admincmd/bpdbjobs -report -all_columns\n";

You don't need that \n. Nay, I would have thought it to issue an error, but I checked and that's not the case. Whatever, it's still confusing at best. Also, it's better to use the multiple args form of system.

mail "xxxxxx@xxxxx.com

There's no mail() Perl builtin:

campari:~ [18:37:59]$ perldoc -f mail No documentation for perl function `mail' found

See? And even if there were, you have an incomplete statement. The above should read:

mail "xxxxxx\@xxxxx.com";

Notice that I quoted the @ sign, for otherwise perl would interpret that as if you wanted to interpolate the @xxxxx array into your string, because yes: double quoted strings interpolate (scalars and arrays). Else, you would use a single quoted string, like thus:

mail 'xxxxxx@xxxxx.com';
but still I get:
Bareword "com" not allowed while "strict subs" in use at ./nb.pl line +7.<br> Unquoted string "com" may clash with future reserved word at ./nb.pl l +ine 7.<br> Execution of ./nb.pl aborted due to compilation errors. <br>

I don't trust you! That cannot be your actual program. When I run perl -c on it I get

String found where operator expected at foo2.pl line 7, at end of line (Missing semicolon on previous line?) Can't find string terminator '"' anywhere before EOF at foo2.pl line 7 +.

instead, which makes much more sense as an error message.

BTW: what's with those <br>'s anyway?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://600255]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-03-29 10:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found