use strict; use warnings; use Data::Dumper; my @hbas; open (LSDEV, "/usr/sbin/lsdev |") or die $!; while () { if ( /^(fcs\d+)/ ) { push (@hbas, +(split)[0]); } } my %hoa; my $hba; for $hba (@hbas) { $hoa{$hba} = qx(/usr/bin/fcstat $hba|/usr/bin/grep -i "world wide port name"|/usr/bin/cut -f2 -d:|sed s/0x//); } while (my ($key, $val) = each %hoa) { my ($str,$str1) = split / /, $hoa{$key}; print $str1,"\n"; foreach () { if ( /$str1/g ) { print "YES\n",qx(hostname),"\n",$key,$val,"\n"; print qx(/usr/bin/fcstat $key|head -n 7); print qx(/usr/sbin/lsmcode -cd $key); } } }