Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: mapping two arrays into anon hash

by agoth (Chaplain)
on Jan 08, 2002 at 17:12 UTC ( [id://137117]=note: print w/replies, xml ) Need Help??


in reply to Re: mapping two arrays into anon hash
in thread mapping two arrays into anon hash

I know about hash slices !!, and am using one in the sub...
I'm trying to slice anonymously without defining the hash explicitly, in order to build up a data structure with the minimum amount of effort..
looking for { username => 'fred' , @{}{@usual} fancyslice @values };
which led me to the @_{@ary1}; %_ monstrosity...
  • Comment on Re: Re: mapping two arrays into anon hash

Replies are listed 'Best First'.
Re: Re: Re: mapping two arrays into anon hash
by Masem (Monsignor) on Jan 08, 2002 at 17:49 UTC
    You're asking for the impossible, or if it is, it's going to be an ugly mess. Sure, it's nice to get a simple result that doesn't use extra variables, but if it becomes unreadible, then you're going to confuse others as to the meaning of your code. In this case, using a temporary hash is not going to increase your memory usage save for maybe an extra byte if you create a reference to the hash, and the code will be much easier to read.

    But here's another solution that doesn't use any extra variables beyond $_:

    use Data::Dumper; my @names = qw ( web email stuff ); my @values = qw( 33 44 55 ); my $ref = { map { $names[$_] => $values[$_] } (0..$#names) }; print Dumper $ref;
    (It's still not as clean as using the hash slice, IMO, but if that's what you want...)

    -----------------------------------------------------
    Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
    "I can see my house from here!"
    It's not what you know, but knowing how to find it if you don't know that's important

      Thanks for that, that's it.

      Don't worry! I have no intention of leaving it in the code, and will probably opt for the subroutine method anyway, I do generally work with half an eye on maintainability.
      What REALLY bugged me was not being able to figure out HOW to shortcut it even if I wasn't going to use the shortcut in the end product...There might be 8 WTDI in this case but i knew there was a shorter WTDI somewhere....

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-04-19 09:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found