use strict; use warnings; use Text::CSV; my %pets; my @info; $info[0]="Mary,Owens,cat,white"; $info[1]="Bill,Thompson,(cat,dog),(white,black)"; $info[2]="Bill,Thompson,(hamster,cat),(black,brown)"; $info[3]="Bill,Smith,(goldfish,dog,turtle),(yellow,spotted,green)"; s/[()]/"/g for @info; my $csv = Text::CSV->new(); for (@info) { $csv->parse( $_ ); print join ":", map { "\"$_\"" } $csv->fields(); print "\n"; }