Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: A brain twister? (how to make 2 lines->1)

by muba (Priest)
on Jun 25, 2012 at 02:08 UTC ( #978103=note: print w/ replies, xml ) Need Help??


in reply to A brain twister? (how to make 2 lines->1)

I assume this is along the lines of what you were looking for?

use strict; use warnings; my %ahash=(one=>1, two=>2, three=>3, foo=>'$foo'); print join(", ", map { "'$_' => '$ahash{$_}'"} keys %ahash ), "\n"; __END__ 'three' => '3', 'one' => '1', 'foo' => '$foo', 'two' => '2'

Addendum: I've chosen to use single quotes for the output rather than double quotes, for the simple reason of keeping the output more or less copy/pastable (of course, copypastability gets lost as soon as a value is actually a reference, but if that is an issue I recommend something like Data::Dumper to you). Consider this template:

use strict; use warnings; my %ahash = ( # PASTE HASH CONTENTS BELOW ); print "'$_' => '$ahash{$_}', " for keys %ahash;
And you were to put in the output of my above script, it'd nicely print 'three' => '3', 'one' => '1', 'foo' => '$foo', 'two' => '2', . Had I used double quotes for the output of the original script and pasted its result into the template, I would've gotten some bothersome errors.
Global symbol "$foo" requires explicit package name at G:\x.pl line 6. Execution of G:\x.pl aborted due to compilation errors.

Why are array so much easier to print out than hashes...geez...
I beg to differ. Just remember to read elements in pairs.
use strict; use warnings; my %ahash=(one=>1, two=>2, three=>3); print join(", ", %ahash); __END__ three, 3, one, 1, two, 2


Comment on Re: A brain twister? (how to make 2 lines->1)
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2015-07-28 16:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (258 votes), past polls