Perl 读取CSV文件并写入CSV文件 使用Text::CSV; $csv=文本::csv->新建; 打开(高,“+>Hardtest.csv”)| | die“无法打开票证$!\n”#读取高级文件 while() { 打印“打印高优先级票据…\n”; 睡眠(1); 印刷品; } 接近(高);

Perl 读取CSV文件并写入CSV文件 使用Text::CSV; $csv=文本::csv->新建; 打开(高,“+>Hardtest.csv”)| | die“无法打开票证$!\n”#读取高级文件 while() { 打印“打印高优先级票据…\n”; 睡眠(1); 印刷品; } 接近(高);,perl,csv,Perl,Csv,这是我的代码,我正在尝试读取csv并对其进行写入,但是我似乎无法读取csv文件,请提供帮助,谢谢 好的,这里有很多东西 始终使用严格的和使用警告 您正在打开CSV文件写入模式(附加模式?)。不要那样做,如果你只是在阅读 不要使用| die,使用或die 最后,不要打印,而是打印$\ucode> 好的,这里有很多东西 始终使用严格的和使用警告 您正在打开CSV文件写入模式(附加模式?)。不要那样做,如果你只是在阅读 不要使用| die,使用或die 最后,不要打印,而是打印$\ucode> 我对您

这是我的代码,我正在尝试读取csv并对其进行写入,但是我似乎无法读取csv文件,请提供帮助,谢谢

好的,这里有很多东西

  • 始终
    使用严格的
    使用警告
  • 您正在打开CSV文件写入模式(附加模式?)。不要那样做,如果你只是在阅读
  • 不要使用
    | die
    ,使用
    或die
  • 最后,不要打印,而是打印$\ucode>

  • 好的,这里有很多东西

  • 始终
    使用严格的
    使用警告
  • 您正在打开CSV文件写入模式(附加模式?)。不要那样做,如果你只是在阅读
  • 不要使用
    | die
    ,使用
    或die
  • 最后,不要打印,而是打印$\ucode>

  • 我对您的代码做了一些修改:

    use Text::CSV;
    $csv = Text::CSV->new;
    open(HIGH, "+>Hardtest.csv") || die "Cannot open ticket $!\n"; #reads the high file
    while(<HIGH>)
    {
        print "Printing High Priority Tickets ...\n";
        sleep(1);
        print <HIGH>;
    }
    close(HIGH);
    
    #/usr/bin/perl-w
    严格使用;
    使用Text::CSV;
    my$csv=文本::csv->新建;
    
    打开(高),“+”将以读/写模式打开文件,但也将覆盖现有文件。因此,在您的代码中,while循环从未被输入。我已将其更改为“+我已稍微修改了您的代码:

    use Text::CSV;
    $csv = Text::CSV->new;
    open(HIGH, "+>Hardtest.csv") || die "Cannot open ticket $!\n"; #reads the high file
    while(<HIGH>)
    {
        print "Printing High Priority Tickets ...\n";
        sleep(1);
        print <HIGH>;
    }
    close(HIGH);
    
    !/usr/bin/perl-w
    严格使用;
    使用Text::CSV;
    my$csv=文本::csv->新建;
    
    打开(高),“+”将以读/写模式打开文件,但也将覆盖现有文件。因此,在您的代码中,while循环从未输入。我已将其更改为“+您(尚未)使用您创建的
    $csv
    。您(尚未)使用使用您创建的
    $csv
    。避免打印
    的原因是
    while
    已经从文件中读取了一行,所以您只会每隔一行打印一次,对吗?是的,while循环肯定是一次读取一行文件(将每一行放入
    $\ucode>),因此打印
    可能会打印下一行,甚至可能会尝试打印整个文件,或者可能什么也不打印,所有这些都是“坏的”。避免打印
    的原因是
    while
    已经从文件中读取了一行,因此您将只每隔一行打印一行,对吗?是的,while循环肯定是一次读取一行文件(将每行放入
    $\ucode>),因此打印
    可能会打印下一行,甚至可能会尝试打印整个文件,或者可能什么也不打印,所有这些都是“坏的”。