#!/usr/bin/perl use strict; use warnings; use XML::Simple qw(:strict); use Data::Dumper::Concise; my $file = shift @ARGV; my $xml = $file; open IN, '<', $xml or die $!; { local $/ = undef; $xml = ; } close IN; my $ref = XMLin($xml, KeyAttr => {item => 'name'}, ForceArray => [ 'item' ], ContentKey => '-content' ); foreach (keys %{$ref}) { print Dumper("$_ = " . $ref->{$_}), "\n"; }