#!perl use warnings; use strict; use Data::Dumper; my @structure; while () { chomp; push @structure, { split /,|=/ }; } print Dumper \@structure; __DATA__ Field1= a value,Field2= another value, Field3= yet another value Field1= a second value,Field2= another second value, Field3= yet another second value