use File::Glob ':glob'; #use File::DosGlob qw( glob ); use XML::Simple; use File::stat; use Time::localtime; $Sortline="C:\\Documents and Settings\\1-test.xml"; $Header="C:\\Documents and Settings\\header.txt"; $Detail="C:\\Documents and Settings\\detail.txt"; open(MYHEADERFILE, ">>$header"); open(MYDETAILFILE, ">>$detail"); my $date = localtime( (stat HANDLE)[9] ); $position = rindex($Sortline, "/")+1; $workorderfilename = substr($Sortline, $position); $pos = index($workorderfilename,'-'); $workorder = substr($workorderfilename,0,$pos); $datetime_string = ctime(stat($Sortline)->mtime); $xml = new XML::Simple; $data = $xml->XMLin($Sortline); $rows= "$data->{table}->{nrows}"; $i=0; for(my $i=0;$i<$rows;$i++) { print MYDETAILFILE "$workorderfilename,$workorder,$data->{table}->{stake_report}->[$i]->{struc_num},$data->{table}->{stake_report}->[$i]->{stock},$data->{table}->{stake_report}->[$i]->{quantity}\n"; } print MYHEADERFILE "$workorderfilename,$workorder,$data->{creator}->{project},$data->{creator}->{projectpath},$datetime_string\n"; #printf MYOUTPUTFILE "$Sortline\n"; close MYOUTPUTFILE; close MYHEADERFILE; close MYDETAILFILE;