Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Array loops and assignments

by rjt (Deacon)
on Jul 07, 2013 at 21:32 UTC ( #1043014=note: print w/ replies, xml ) Need Help??


in reply to Array loops and assignments

The real problem I see is that if you really are referring to values by their index (regardless of how you accomplish that), that's probably a rather serious design problem. Then again, you say:

The requirement is that 8 elements of the array be stored in separate attributes. So instead of doing a single-assignment for each attribute, I was hoping to just put it in a loop and assign it to the corresponding variable.

That's actually quite a common requirement, most often seen in sub argument processing:

my ($name, $number) = @_;

For longer and/or variable lists of arguments, hashes provide more flexibility and basically a free namespace:

#!/usr/bin/env perl use 5.012; use warnings; sub read_order_back { my %courses = ( appetizer => 'soup', salad => 'tossed', @_ ); die "No main?!" unless defined $courses{main}; print "\u$courses{appetizer} to start, followed by a\n" . "lovely $courses{salad} salad, with $courses{main}\n" . "for your entree"; print ", and finally a\nstunning $courses{dessert}" if defined $courses{dessert}; print ". Bon apetit!\n"; } read_order_back(main => 'ribs');

Output:

Soup to start, followed by a lovely tossed salad, with ribs for your entree. Bon apetit!

Update: Whoops, now I'm hungry.


Comment on Re: Array loops and assignments
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (12)
As of 2014-08-28 06:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (257 votes), past polls