use strict; use warnings; use Data::Dumper; my @data = ("371540|4/07/2011|08:03|11:03|2|Company Name (MAIN SITE)|DB PURGE1|", "371540|4/07/2011|08:03|11:03|2|Company Name (MAIN SITE)|DB PURGE1|", "371540|4/07/2011|08:03|11:03|2|Company Name (MAIN SITE)|DB PURGE1|", "371540|4/07/2011|08:03|11:03|2|Company Name (MAIN SITE)|DB PURGE1|", "371540|4/07/2011|08:03|11:03|2|Company Name (MAIN SITE)|DB PURGE1|"); print Dumper(@data); foreach my $field (@data){ my ($ticket,$DateAdded,$STime,$ETime,$Pri,$SiteName,$Comments) = split(/\|/,$field); print"$ticket,$DateAdded,$STime,$ETime,$Pri,$SiteName,$Comments\n"; }