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
|