#!/usr/local/bin/perl
use strict;
use warnings;
my %hash;
my @array_keys;
my @keys = qw(xx yy zz);
@hash{@keys}=([{'key1'=>1}],[{'key2'=>2}],[{'key3'=>3}]); #hash slice
@array_keys = keys %hash;
print "@array_keys\n";
push @{$hash{'aa'}},{'key4'=>4}; #add another key
@array_keys = keys %hash; #update the array
print "@array_keys\n";
####
for (@array_keys){
for my $element ($hash{$_}){
my @val;
for my $element1 ($element->[0]){
@val = values %$element1;
}
print "@val\n";
}
}
#OR
@array_values = values %hash;
for (@array_values){
for my $element ($_){
my @val;
for my $element1 ($element->[0]){
@val = values %$element1;
}
print "@val\n";
}
}
####
use strict;
use warnings;
use Data::Dumper;
my %hash;
my @array_values;
my @keys = qw(xx yy zz);
@hash{@keys}=([{'key1'=>'ipconfig'}],[{'key2'=>'dir'}]);
@array_values = values %hash;
my %hash_output;
for (@array_values){
for my $element ($_){
for my $element1 ($element->[0]){
for my $result (values %$element1){
my $outcome = `$result`;
push @{$hash_output{command}[0]}, $outcome;
}
}
}
}
print Dumper(\%hash_output);
####