use strict; use XML::Rules; my $parser = XML::Rules->new( stripspaces => 7, rules => [ '_default' => 'content', 'Dev_Info' => sub { print "$_[1]->{dev_name}\t$_[1]->{configuration}\n"; return; }, 'Device' => '', ], start_rules => [ 'Hyper,RAID-5_Device,Back_End,Mirror_Set,Front_End,Product,Label,Flags,Capacity' => 'skip', ], ); $parser->parse(\*DATA); __DATA__ 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