Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Returning two lists from a sub

by jynx (Priest)
on Jun 07, 2007 at 17:45 UTC ( #619865=note: print w/replies, xml ) Need Help??


in reply to Returning two lists from a sub

I'm not surprised no one has mentioned this one. This is pretty horrible as well. Make the 2 lists have the same size, and then return a hash where the keys are one list and the values are another. Then you can extract both lists from the single list using perl built-ins. I would advise not doing it this way. But just for fun, untested code ahead...

sub foo { my ($tmp, @list1, @list2, %vals) = ('aaaaa'); @list1 = generate_list1(); @list2 = generate_list2(); if (@list1 > @list2) { push @list2, $tmp++ for 1..@list1-@list2; } else { push @list1, $tmp++ for 1..@list2-@list1; } @vals{@list1} = @list2; return %vals; } my %tmp = foo(); my @list1 = sort grep !/^aaa/, keys %tmp; my @list2 = sort grep !/^aaa/, values %tmp;

Replies are listed 'Best First'.
Re^2: Returning two lists from a sub
by kyle (Abbot) on Jun 07, 2007 at 17:49 UTC

    This method would fail if the list used as 'keys' has any duplicate items in it.

      That's one of many problems with it, which is why I did advise not to use it. I just put it here in the spirit of TMTOWTDI and for fun. It's not supposed to be a "serious" way to do it...

      This was a bad time for a joke apparently... sorry about that.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://619865]
help
Chatterbox?
[Eily]: the French @ is a mouthful I guess...
[Eily]: choroba Wikipedia gives me Zavináč which doesn't seem to translate to something edible?
[Eily]: (yes I'm very good at using question marks, thank you)
[Discipulus]: O_O frexit for you! even me i tried. it was in the arabic quarter in Granada; they offered as 'tapas' in bars. I eataly somewhere they eat ;=P Sardinia a Pulia iirc
[choroba]: Zavináč
[Eily]: choroba oh, that makes sense :)

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2017-11-21 10:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (297 votes). Check out past polls.

    Notices?