#!/usr/bin/perl -w use strict; use Text::CSV_XS; my ( $csv, $xml ); $csv = Text::CSV_XS->new( { 'sep_char' => ';' } ); $xml = ''; while( ) { chomp; if ( $csv->parse( $_ ) ) { my ( $line, $n, @fields, $field ); $line = ''; $n = 1; @fields = $csv->fields(); foreach $field ( @fields ) { $line .= "$field"; $n++; } $xml .= $line . "\n"; } else { print "parse() failed on this line: " . $csv->error_input() . "\n"; # die? } } print $xml; __DATA__ a;b;c;d;e f;g;h;i j;k l m;n;o