Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
"be consistent"
 
PerlMonks  

Re: Pushing an hash into an array

by NetWallah (Monsignor)
on May 14, 2013 at 03:28 UTC ( #1033392=note: print w/ replies, xml ) Need Help??


in reply to Pushing an hash into an array

Welcome to the Monastery!

$element contains "Battery Failure".

There is no such key in %error_code, so $error_code{$element} returns undef.

The nearest valid key would be "SysBatteryFailure" , so you need to figure out how to get that into $element.

ALso, you need to decide if @ILO_ERRORS has a hashref element, or is a simple array. You are attempting to use it both ways.

After you get $element set correctly, if you want to use @ILO_ERRORS as an array, try:

my @ILO_ERRORS = (); # Empty LIST; not {}, which is a hash ref ... push @ILO_ERRORS, $error_code{$element}; .... if (@ILO_ERRORS) { print "SNMP CRITICAL - @ILO_ERRORS \n"; # Note - array interpolated + INSIDE QUOTES, "\n" added ...
To get $element to work right, you could try:
my ($key) = grep {$error_code{$_} =~/$element/} keys %error_code; # Note - parens around ($key) provide the required list context $key and push @ILO_ERRORS, $error_code{$key};

             "I'm fairly sure if they took porn off the Internet, there'd only be one website left, and it'd be called 'Bring Back the Porn!'"
        -- Dr. Cox, Scrubs


Comment on Re: Pushing an hash into an array
Select or Download Code
Re^2: Pushing an hash into an array
by sami.strat (Initiate) on May 14, 2013 at 20:08 UTC
    Thanks much. Your recommendations were actually very helpful.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2014-04-20 02:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (485 votes), past polls