use Text::CSV_XS; my @data; input (); sub input { my @attrs = qw(_status _gwname _ac_ID_field); my $csv = Text::CSV_XS->new; while ( ) { chomp; next if /^START/; $csv->parse($_); my @fields = $csv->fields; my %rec; @rec{@attrs} = @fields; push @data, \%rec; } } foreach my $info (@data) { print "$info->{_status}\n"; } __DATA__ adfadfasdfadsf,"adsf,asdf,adsf",adfasdf adsfasdfasdfasdf,asdfasdfasdf,adsfasdf adsfasdf,"adsf,adsf",adsfadsf "asdfasdf,asdfasdf",adfasdf,asdfasdf #### adfadfasdfadsf adsfasdfasdfasdf adsfasdf asdfasdf,asdfasdf