Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: function input may be hash ref

by arnaud99 (Beadle)
on Mar 14, 2013 at 18:52 UTC ( #1023526=note: print w/ replies, xml ) Need Help??


in reply to function input may be hash ref

Hi

Using ref to filter out the references you do no wish to process.

use Modern::Perl; my $array_ref = ["12'b01", "1333'b011111"]; my @vals = ( "12'b01", "1333'b011111", $array_ref, # one array ref; "aa'b01", "12'b01", { a=>1 }, #hash ref {}, # another hash ref [ "12'b01", "1333'b011111"], #another array ref "12'b01", ); foreach my $val(@vals) { if (ref $val eq 'ARRAY' or ref $val eq 'HASH' ) { say "This is an array or hash ref: Don't process", } elsif ($val =~ /^([\d]+)\'[b]([01]+)$/) { my $strlen = $1; my $binstr = $2; #do things ... say "Found: ", $strlen, ", ", $binstr; } else { say "Wrong kind of input: $val"; } }

Output

Found: 12, 01 Found: 1333, 011111 This is an array or hash ref: Don't process Wrong kind of input: aa'b01 Found: 12, 01 This is an array or hash ref: Don't process This is an array or hash ref: Don't process This is an array or hash ref: Don't process Found: 12, 01

Arnaud.


Comment on Re: function input may be hash ref
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (8)
As of 2014-12-26 11:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (171 votes), past polls