{ system("cls"); # Read command line arguments my ($materialmapping_file, $data_folder) = @ARGV; print "OPTIONS\nmaterialmapping_file: $materialmapping_file\n" . "data_folder: $data_folder\n"; if (length $materialmapping_file && length $data_folder) { opendir(my $dir, $data_folder) or die "Error in opening dir $data_folder\n"; my $materialmapping_table_xml = XML::LibXML->createDocument('1.0', 'UTF-8'); my $materialmapping_table_xml_root = $materialmapping_table_xml->createElement('masterdata'); $materialmapping_table_xml_root-> setAttribute('version', getSQLTimeStamp()); $materialmapping_table_xml-> setDocumentElement($materialmapping_table_xml_root); print "Parsing files...\n"; while (my $filename = readdir($dir)) { if ($filename =~ / \. xls $ /ix) { parse_xls_file($data_folder, $filename, $materialmapping_table_xml, $materialmapping_table_xml_root); } } $materialmapping_table_xml->toFile($materialmapping_file, 2); } }