Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

When I compile that with warnings and strict enabled I get these messages:

main::dumpHistory() called too early to check prototype at 755780.pl.t +dy line 87. main::dumpHistory() called too early to check prototype at 755780.pl.t +dy line 74. main::dumpHistory() called too early to check prototype at 755780.pl.t +dy line 63. main::dumpHistory() called too early to check prototype at 755780.pl.t +dy line 53. Global symbol "@results" requires explicit package name at 755780.pl.t +dy line 27. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 30. Global symbol "@results" requires explicit package name at 755780.pl.t +dy line 30. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 31. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 33. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 40. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 42. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 44. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 46. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 46. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 48. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 56. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 58. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 58. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 59. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 66. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 68. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 68. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 70. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 77. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 79. Global symbol "$clientName" requires explicit package name at 755780.p +l.tdy line 79. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 81. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 94. Global symbol "@history" requires explicit package name at 755780.pl.t +dy line 94. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 95. Global symbol "$item" requires explicit package name at 755780.pl.tdy +line 96. Bareword "NULL" not allowed while "strict subs" in use at 755780.pl.td +y line 48. Bareword "NULL" not allowed while "strict subs" in use at 755780.pl.td +y line 59. Bareword "NULL" not allowed while "strict subs" in use at 755780.pl.td +y line 70. Bareword "NULL" not allowed while "strict subs" in use at 755780.pl.td +y line 81.

Perhaps it would work better like this:

use warnings; use strict; ## ## Sherlock v0.1 written 040409:1650 by BJP ## ## Sherlock, given a hostname, can determine if that host is known to +netbackup. ## ## Usage: sherlock.pl <hostname> ## if ( @ARGV != 1) { print "\n\nUsage: sherlock.pl <hostname>\n"; print "Example: sherlock.pl cistest\n\n"; exit 1; } print "\nSherlock: Starting up..\n"; if ( $ARGV[ 0 ] =~ s/^b_// ) { print "Sherlock: Stripping off the \"b_\" prefix temporarily..\n"; } print "Sherlock: Checking to see if NetBackup knows about $ARGV[0]..\n +"; my @results = `/usr/openv/netbackup/bin/bpclntcmd -pn -hn $ARGV[0] 2>& +1 `; ## For some reason, this command will dump ordinary status in +formation to stderr versus stdout, hence the gag suffix on the comman +d. for my $item ( @results ) { chomp $item; if ( $item =~ /TRY_AGAIN/ ) { print "Sherlock: Bad news. NetBackup does not recognize $ARGV[ +0] as a valid peer name under its care.\n"; print "Sherlock: Test results: FAIL\n"; print "Sherlock: Exiting..\n\n"; exit 2; } next if $item !~ /0x/; print "Sherlock: Good news! NetBackup recognizes $ARGV[0] as a valid + client and peer name.\n", "Sherlock: Details: $item\n"; my $clientName = $ARGV[ 0 ]; my @history = `/usr/openv/netbackup/bin/bpclimagelist -t ANY -clie +nt $clientName`; dumpHistory( @history ) if @history; print "Sherlock: A check of the backup logs for this client shows no +thing so far.. Still searching..\n", "Sherlock: This time, let's try again using a \"b_\" prefix on + the hostname and see what happens..\n"; $clientName = "b_$ARGV[0]"; @history = `/usr/openv/netbackup/bin/bpclimagelist -t ANY -client +$clientName`; dumpHistory( @history ) if @history; print "Sherlock: I'm still not seeing anything for this host. Hmmm +.. Maybe it's a Wintel box? Lets try that..\n"; $clientName = $ARGV[ 0 ]; @history = `/usr/openv/netbackup/bin/bpclimagelist -t ANY -client +$clientName -ct 5`; dumpHistory( @history ) if @history; print "Sherlock: No luck.. I'm not seeing anything on it. Trying a +gain, assuming it's a Wintel box AND \"b_\" prefixed..\n"; $clientName = "b_$ARGV[0]"; @history = `/usr/openv/netbackup/bin/bpclimagelist -t ANY -client +$clientName -ct 5`; dumpHistory( @history ) if @history; print "Sherlock: Still no luck. This box needs to be checked manuall +y.\n", "Sherlock: Test results: FAIL\n", "Sherlock: Exiting..\n\n"; } sub dumpHistory { print "Sherlock: Ahhh, there we go. Results! This host appears to +have a backup history..\n"; for my $item ( @_ ) { chomp $item; print "Sherlock: $item\n"; } print "Sherlock: Test results: PASSED\n", "Sherlock: Exiting..\n\n"; exit; }

In reply to Re: Sherlock v0.1 by jwkrahn
in thread Sherlock v0.1 by bpoag

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2024-03-28 17:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found