foreach my $row (@sorted_urls){ $csv->parse($row); my @els = $csv->fields; #using Text::CSV my(@splits) = split('\|',$row); #using split on same $row print $q->p($els[0]); #prints wrong print %q->p(splits[0]); #prints right }