#!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; my %vhosts; my $host; #open (LSMAP, "-|", "/usr/ios/cli/ioscli lsmap -all") or die $!; while (defined(my $lsm = )) { if ($lsm =~ /^(vhost\d+)/) { $host = $1 } if ($lsm =~ /^Backing device\s+([\w\.]+)/) { $vhosts{$host} = [] unless defined $vhosts{$host}; push $vhosts{$host}, $1; } } print Dumper( \%vhosts ) . "\n"; __DATA__ SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost0 U9117.MMD.218A8B7-V1-C2 0x0000000b VTD vtscsi0 Status Available LUN 0x8100000000000000 Backing device l02duapofdev_r1.58ff94782d7c325acc49a8dd9c04bb1e Physloc Mirrored N/A VTD vtscsi1 Status Available LUN 0x8200000000000000 Backing device l02duapofdev_b1.0ee86903d4951ce38a9b691b322ff1d2 Physloc Mirrored N/A SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ -------------------------------------------- ------------------ vhost3 U9117.MMD.218A8B7-V1-C14 0x00000000 VTD NO VIRTUAL TARGET DEVICE FOUND SVSA Physloc Client Partition ID --------------- -------------------------------------------- ------------------ vhost5 U9117.MMD.218A8B7-V1-C16 0x00000007 VTD vtscsi22 Status Available LUN 0x8100000000000000 Backing device l02duapofqa_r1.4746343ea4f12fe1092615c8734d9844 Physloc Mirrored N/A VTD vtscsi23 Status Available LUN 0x8200000000000000 Backing device l02duapofqa1_d1.449583501d812f69e6189ea7f4a29e06 Physloc Mirrored N/A