Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Okay I have cleaned it up a little bit

by blazar (Canon)
on Feb 15, 2007 at 17:47 UTC ( #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 "

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\";

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 '';
but still I get:
Bareword "com" not allowed while "strict subs" in use at ./ line +7.<br> Unquoted string "com" may clash with future reserved word at ./ l +ine 7.<br> Execution of ./ 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 line 7, at end of line (Missing semicolon on previous line?) Can't find string terminator '"' anywhere before EOF at line 7 +.

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

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://600255]
NodeReaper lights some incense and reads Tool and Die

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (9)
As of 2018-06-21 22:37 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (120 votes). Check out past polls.