use strict; use Text::CSV_XS; my @fields; 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; local $" = '|'; my %rec; @rec{@attrs} = split /|/; push @fields, \%rec; } } input (); foreach my $info (@fields) { print "${@fields}[0]{_status}"; } #### adfadfasdfadsf,"adsf,asdf,adsf",adfasdf adsfasdfasdfasdf,asdfasdfasdf,adsfasdf adsfasdf,"adsf,adsf",adsfadsf "asdfasdf,asdfasdf",adfasdf,asdfasdf