Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Parameters, subs and the shift function

by CombatSquirrel (Hermit)
on Aug 19, 2003 at 12:16 UTC ( #284866=note: print w/replies, xml ) Need Help??


in reply to Parameters, subs and the shift function

Just one thing to add to what the others said: Although discouraged by some, I personally fancy prototypes. In the following example prototyping the function makes it seem (this "seem" is important) as if you just needed arrays and not references to arrays; the references are automatically generated by Perl.
#!perl use strict; use warnings; sub test ($\@\@) { my $number = shift; my @array1 = @{+shift}; # Shift off the reference, and dereference + it my @array2 = @{+shift}; # Print the variable contents print $number . $/ . join(' - ', @array1) . $/ . join(' - ', @array +2) . $/; } my @a = qw(mary had a little lamb !); my @b = qw(London Bridge is); test (2, @a, @b); __END__ OUTPUT: 2 mary - had - a - little - lamb - ! London - Bridge - is
Have a look at perlsub for an explanation of prototypes. Please note that the above only works for arrays and not for lists.
Hope this helped.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2018-11-19 13:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My code is most likely broken because:
















    Results (212 votes). Check out past polls.

    Notices?