我想使用 Perl 将 CSV 文件转换为 XML。 程序无法读取输入文件。消息:“无法打开文件:testfile.csv” 有谁知道这个脚本有什么问题?转换部分不是问题
my $target_file;
my $source_file;
print "Agent csv2xml.pl wordt gestart...\n";
opendir( D, "$source_dir" ) or mail_die("Fout bij openen van $source_dir : $!");
my @files = grep { -f "$source_dir/$_" } readdir D;
closedir D;
foreach my $file_name (@files)
{
open my $CSV_FILE, "<", "$file_name" or mail_die("Cannot open a file: $file_name ");
open my $XML_FILE, ">", "$target_file" or mail_die("Cannot open a file: $file_name ");
print $target_file '<?xml version="1.0" encoding="UTF-8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://www.co-maker.nl/LeaseOffice/types">'."\n";
my $kenteken = "";
my $csv_header = <$CSV_FILE>;
while(<$CSV_FILE>) {
chomp;
my @fields = split ',', $_;
$kenteken = '<ns1:ObjectMileage><ns1:object_code>'.$fields[0].'</ns1:object_code><ns1:mileagedate>'.$fields[1].'</ns1:mileagedate><ns1:mileage>'.$fields[2].'</ns1:mileage><ns1:icode_mileagecause_ecode>'.$fields[3].'</ns1:icode_mileagecause_ecode></ns1:ObjectMileage>'."\n";
print $target_file $kenteken;
}
close $file_name;
close $target_file;
# Na succesvolle unzip het input bestand verwijderen.
unlink("$file_name") or mail_die("Kan bestand $file_name niet verwijderen. \n");
}