C:\test>junk44 #! perl -slw use strict; use Data::Dump qw[ pp ]; use XML::Simple; my $xml = XMLin( \*DATA, ForceArray => 1 ); pp $xml; __DATA__ 10.0.0.101 10.0.1.101 10.0.0.102 10.0.0.103 10.0.1.103 10.0.0.111 10.0.1.111 10.0.0.112 10.0.0.113 10.0.1.113 10.0.0.121 #### { station17 => [{ ip => ["10.0.0.121"] }], station18 => [ { ip => [ "10.0.0.101", "10.0.1.101", "10.0.0.102", "10.0.0.103", "10.0.1.103", ], }, ], station19 => [ { ip => [ "10.0.0.111", "10.0.1.111", "10.0.0.112", "10.0.0.113", "10.0.1.113", ], }, ], }