in reply to Re: HoA, grep or exists?
in thread HoA, grep or exists?

date structure is:
# perl foo $VAR1 = { 'vhost7' => [ 'l02dudbofqa_r1', 'l02dudbofqa1_a1', 'l02dudbofqa1_a2', 'l02dudbofqa1_a3', 'l02dudbqa1_d1', 'l02dudbofqa1_d2', 'l02dudbofqa1_d3', 'l02dudbofqa1_d4', 'l02dudbofqa1_d5', 'l02dudbofqa1_d6' ], 'vhost6' => [ 'l02dzuapofqa_r1', 'l02dzuapofqa_d1' ],

Replies are listed 'Best First'.
Re^3: HoA, grep or exists?
by teamassociated (Sexton) on Nov 20, 2014 at 21:10 UTC
    Here is my entrtie test script:
    # cat foo open (LSMAP, "-|", "/usr/ios/cli/ioscli lsmap -all") or die $!; while ($lsm = (<LSMAP>)) { if ($lsm =~ /^Backing device\s+(\w+)\.\w+$/i) { push @{$vhosts{$host}}, $1; next; } my ($p1, $p2, $p3) = split /\s+/, $lsm; $host = $p1 if defined $p3 && $p1 =~ /^(vhost.*)$/i; } $a="vhost11"; $b="l02duapofqa2_d1"; use Data::Dumper; print Dumper \%vhosts; print "\n end data-dumper \n"; OUTER: for my $vhname (sort keys %vhosts) { for my $luname ( @{$vhosts{$vhname}} ) { if ( $a = $vhosts{$a}) { if (grep { $_ =~ /l02duapofqa.*/ } @$vhosts) { print "yes $_\n"; last OUTER; } } } } # perl foo $VAR1 = { 'vhost7' => [ 'l02dudbofqa_r1', 'l02dudbofqa1_a1', 'l02dudbofqa1_a2', 'l02dudbofqa1_a3', 'l02dudbqa1_d1', 'l02dudbofqa1_d2', 'l02dudbofqa1_d3', 'l02dudbofqa1_d4', 'l02dudbofqa1_d5', 'l02dudbofqa1_d6' ], 'vhost6' => [ 'l02dzuapofqa_r1', 'l02dzuapofqa_d1' ], 'vhost2' => [ 'l02dudbofcnv_b2', 'l02dudbofcnv_b1' ], 'vhost11' => [ 'l02duapofqa2_r1', 'l02duapofqa2_d1' ], 'vhost1' => [ 'l02dudbofcnv_b3', 'l02dudbofcnv_b4' ], 'vhost4' => [ 'l02dudbofdev_r1', 'l02dudbofdev_d1', 'l02dudbofdev_d2', 'l02dudbofdev_d3', 'l02dudbofdev_d4', 'l02dudbofdev_d5', 'l02dudbofdev_d6', 'l02dudbofdev_d7', 'l02dudbofdev_d8', 'l02dudbofdev_d9', 'l02dudbofdev_10' ], 'vhost8' => [ 'l02dudbofqa2_a1', 'l02dudbofqa2_r1', 'l02dudbofqa2_a2', 'l02dudbofqa2_a3', 'l02dudbofqa2_d1', 'l02dudbofqa2_d2', 'l02dudbofqa2_d3', 'l02dudbofqa2_d4', 'l02dudbofqa2_d5', 'l02dudbofqa2_d6' ], 'vhost0' => [ 'l02duapofdev_r1', 'l02duapofdev_b1' ], 'vhost5' => [ 'l02duapofqa_r1', 'l02duapofqa1_d1' ] }; end data-dumper # pwd
      I'm not sure why you're posting that?