Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Idiom for looping thru key/value pairs

by tinman (Curate)
on May 26, 2001 at 00:36 UTC ( #83422=note: print w/ replies, xml ) Need Help??


in reply to Idiom for looping thru key/value pairs

Please correct me if I'm wrong, but perhaps you could use splice ?

#!/usr/bin/perl -w use strict; my @list = ('1','val','2','val2','1','val3'); while((my $first, my $last) = splice(@list,0,2)) { print "$first -> $last \n"; }

HTH


Comment on Re: Idiom for looping thru key/value pairs
Download Code
Re: Re: Idiom for looping thru key/value pairs
by frag (Hermit) on May 26, 2001 at 02:15 UTC

    The problem with splice is that it would chop the values out of the original array, and he doesn't want to use a dupe.

    This might be the time to use old-timey C-style for:

    my @list = ('1','val','2','val2','1','val3'); my $self = { _subfields => [@list] }; my @subs; for (my $index = 1; $index < @{$self->{_subfields}}; $index+=2) { push @subs, ${$self->{_subfields}}[$index]; } # waa-la: print $_,"\n" foreach (@subs);
    It's ugly, but it avoids the duplication. For the cost of a scalar you could always use
    my $aryref = $self->{_subfields};
    instead.

    -- Frag.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (7)
As of 2014-12-25 02:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

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





    Results (159 votes), past polls