Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Specific hash to array conversion query

by Transient (Hermit)
on Jul 12, 2005 at 02:53 UTC ( [id://474156]=note: print w/replies, xml ) Need Help??


in reply to Specific hash to array conversion query

Here's one with a subselect on the keys (you can do a sort to get whatever order for the keys - left as an exercise for the reader ;)
#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my %properties = ( if_mac => { 0 => { value => '00:11:1A:F2:E1:92', fixed => 0 }, 1 => { value => '00:11:1A:F2:E1:93', fixed => 0 }, }, if_ip => { 0 => { value => '132.181.30.3', fixed => 0 }, 1 => { value => '132.181.30.4', fixed => 0 }, } ); my @values = map { my $key=$_; map { [ $key, $_, $properties{$key}->{$_}->{value} + ] } keys %{$properties{$_}}} keys %properties; print Dumper(\%properties); print "\n"; print Dumper(\@values), "\n"; __OUTPUT__ $VAR1 = { 'if_ip' => { '1' => { 'fixed' => 0, 'value' => '132.181.30.4' }, '0' => { 'fixed' => 0, 'value' => '132.181.30.3' } }, 'if_mac' => { '1' => { 'fixed' => 0, 'value' => '00:11:1A:F2:E1:93' }, '0' => { 'fixed' => 0, 'value' => '00:11:1A:F2:E1:92' } } }; $VAR1 = [ [ 'if_ip', '1', '132.181.30.4' ], [ 'if_ip', '0', '132.181.30.3' ], [ 'if_mac', '1', '00:11:1A:F2:E1:93' ], [ 'if_mac', '0', '00:11:1A:F2:E1:92' ] ];

Replies are listed 'Best First'.
Re^2: Specific hash to array conversion query
by monarch (Priest) on Jul 12, 2005 at 03:00 UTC
    That is perfect. I like the way you've saved the value of the outer key map { my $key=$_; map... and used that in the inner query.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2024-03-19 01:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found