#!/usr/bin/perl open (INFO, "<", "$File") or die("Cannot open the flat file"); open(my $LOG,">>LOG_file") or die("Cannot open"); open(XML,">xml_file") or die("Cannot open"); foreach $line2 () { $line2 =~ s/&/&/g; print "$line2\n"; my $segment = substr($line2,0,2); if($segment eq "00") { my $Var1 = trim(substr($line2,40,8)); } if($segment eq "A0") { $Var2 = trim(substr($line2,2,9)); $Var3 = trim(substr($line2,14,3)); $Var4 = trim(substr($line2,20,42)); $Var5 = trim(substr($line2,62,30)); and so on } close LOG_file; close xml_file; close INFO; sub trim($) { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; return $string; }