1 2 3 4 5 0 6 1 7 cur 8 9 2198 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 24 2 25 max 26 27 5400 28 29 30 31 32 33 34 35 36 37 38 ... #### 1 #!/usr/bin/env perl 2 3 4 use Data::Dumper; 5 use XML::Simple; ... 9 my $xs1 = XML::Simple->new(); 10 my $file = $ARGV[0]; 11 my $doc = $xs1->XMLin($file, forcearray => 1); 12 #### $VAR1 = { 'NAGIOS_NOTIFICATIONRECIPIENTS' => {}, ... 'NAGIOS_HOSTACTIONURL' => '/nagios/pnp/index.php?host=ahostname.somedomain.com', 'DATASOURCE' => [ { 'MIN' => {}, 'TEMPLATE' => 'check_bigip_pool_connection', 'CRIT_MAX' => {}, 'MAX' => {}, 'UNIT' => {}, 'WARN_MAX' => {}, 'NAME' => 'cur', 'WARN_MIN' => {}, 'IS_MULTI' => '0', 'DS' => '1', 'WARN' => {}, 'CRIT_MIN' => {}, 'ACT' => '2198', 'CRIT' => {}, 'CRIT_RANGE_TYPE' => {}, 'WARN_RANGE_TYPE' => {} }, ... #### 20 foreach my $datasource ($doc->{DATASOURCE}){ 21 22 print Dumper($datasource->[1]->{NAME}->[0]); 23 24 my $element = scalar(@datasource); 25 26 print "Element = $element\n"; 27 for(my $element=0; $element < scalar(@datasource); $element++){ 28 print $datasource[$element]; 29 } 30 } #### $VAR1 = 'max'; Element = 0 #### $VAR1 = undef; Element = 2 HASH(0x10e2ef0)