#!/usr/bin/perl use strict; use warnings; use Text::CSV_XS; my $csv = Text::CSV_XS->new(); my $file = ''; if (defined $ARGV[0]) { $file = $ARGV[0]; } open(my $data, '<', $file) or die "Could not open '$file'\n"; while (my $line = <$data>) { if ($csv->parse($line)) { my @columns = $csv->fields(); ## set vars my $orderNumber = $columns[0]; my $name = $columns[1]; my $itemId = $columns[2]; my $itemDesc = $columns[3]; my $price = $columns[4]; open (OUTFILE, "> output/$orderNumber.xml") or die $! . " can't open the file\n"; #print OUTFILE <\n"; print OUTFILE " $orderNumber\n"; print OUTFILE " $name\n"; print OUTFILE " \n"; print OUTFILE " $itemId\n"; print OUTFILE " $itemDesc\n"; print OUTFILE " $price\n"; print OUTFILE " \n"; print OUTFILE "\n"; #XML close (OUTFILE); } else { warn "Line could not be parsed:\n"; } }