Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^7: How to combine these 2 subroutines in one?

by Anonymous Monk
on Apr 04, 2014 at 09:14 UTC ( #1081092=note: print w/replies, xml ) Need Help??

in reply to Re^6: How to combine these 2 subroutines in one?
in thread How to combine these 2 subroutines in one?

I see!
So please tell me if I am correct, if the list has been passed as an array, then $type_of_arg will be empty, whereas if it's passed as a reference to an array it's ARRAY, right?

Replies are listed 'Best First'.
Re^8: How to combine these 2 subroutines in one?
by Athanasius (Chancellor) on Apr 04, 2014 at 09:36 UTC


    That is, provided that the passed-in-array does not itself contain references. For the purpose of this exercise, you may know that it won’t, but in the general case, it might, which is why a solution using wantarray may be preferable here, as explained above.

    Note that “empty” here means the empty string, i.e. "", so to make the test more robust you could write:

    my $type_of_arg = ref $_[0]; if ($type_of_arg eq "ARRAY") { # Handle an array reference } elsif ($type_of_arg eq "") { # Handle an array } else { die "Unexpected reference type '$type_of_arg': $!"; }

    Hope that helps,

    Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

      Thank you so much for these tips, references have always been a headache to me... Actually, I don't quite understand what do we use them for, I need to study up on this more!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1081092]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2018-03-20 23:28 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (261 votes). Check out past polls.