我想编写一个脚本,它需要一个 CSV 文件,删除它的第一行并创建一个新的输出 csv 文件。
这是我的代码:
use Text::CSV_XS;
use strict;
use warnings;
my $csv = Text::CSV_XS->new({sep_char => ','});
my $file = $ARGV[0];
open(my $data, '<', $file) or die "Could not open '$file'\n";
my $csvout = Text::CSV_XS->new({binary => 1, eol => $/});
open my $OUTPUT, '>', "file.csv" or die "Can't able to open file.csv\n";
my $tmp = 0;
while (my $line = <$data>) {
# if ($tmp==0)
# {
# $tmp=1;
# next;
# }
chomp $line;
if ($csv->parse($line)) {
my @fields = $csv->fields();
$csvout->print($OUTPUT, \@fields);
} else {
warn "Line could not be parsed: $line\n";
}
}
在 perl 命令行上我写:c:\test.pl csv.csv
它不会创建file.csv
输出,但是当我双击脚本时,它会创建一个空白的 CSV 文件。我究竟做错了什么?