000290101935 Not Visible 0040 RAID-5 N/A CKD-3390 Ready N/A Normal 0xD800 0x00 N/A N/A N/A 000290101935 True False False False None False None N/A False False False False Disabled False False False False None 56664 1113 16695 16695 902 923833 Not Visible 03A FICON N/A 0 N/A 0 0 N/A 0 0 Not Visible 04A FICON N/A 0 N/A 0 0 N/A 0 0 Not Visible 13A FICON N/A 0 N/A 0 0 N/A 0 0 Not Visible 14A FICON N/A 0 N/A 0 0 N/A 0 0 1 RAID-5 Ready 0 2 RAID-5 Ready 0 3 N/A N/A 0 4 N/A N/A 0 RAID-5 Ready N/A N/A N/A N/A N/A RAID-5 Ready N/A N/A N/A N/A N/A 4 ReadyNoOtherMirror EnabledNoOtherMirror None None -1 N/A N/A 01A D 5 444 56 307 4 RW N/A 2 140014 15A D 5 468 56 307 1 RW N/A 2 140014 02C C 5 66 56 307 3 RW N/A 2 140014 16C C 5 66 56 307 2 RW N/A 2 140014 #### my $parser = new XML::LibXML; my $tree = $parser->parse_file('935.xml'); my $root = $tree->getDocumentElement; my @devices = $root->findnodes('/SymCLI_ML/Symmetrix/Device/Dev_Info'); for my $device_id ( @devices ) { my $dev_name = $device_id->findnodes('./Dev_Name'); my $dev_conf = $device_id->findnodes('./configuration'); print $dev_name->to_literal, "\t", $dev_conf->to_literal, "\n"; } #### my $parser = new XML::LibXML; my $tree = $parser->parse_file('935.xml'); my $root = $tree->getDocumentElement; my @symm_tree = $root->getChildrenByTagName('Symmetrix') or croak; for my $symm_tree ( @symm_tree ) { my @devices_tree = $symm_tree->getChildrenByTagName('Device') or croak; my $device_num; for my $device_tree ( @devices_tree ) { $device_num++; my @devinfo_tree = $device_tree->getChildrenByTagName('Dev_Info') or croak; my @capacity_tree = $device_tree->getChildrenByTagName('Capacity') or croak; my $dev_name; # key for my $devinfo_tree ( @devinfo_tree ) { $dev_name = $devinfo_tree->getChildrenByTagName('dev_name'); my $dev_cnfg = $devinfo_tree->getChildrenByTagName('configuration'); $conf_of{$dev_name} .= $dev_cnfg; } for my $capacity_tree ( @capacity_tree ) { my $cyls = $capacity_tree->getChildrenByTagName('cylinders'); $conf_of{$dev_name} .= $cyls; } } }