繁体   English   中英

在 perl 中打开命令

[英]open command in perl

我尝试在 perl 中使用 open 命令。但是获取和错误如下。

命令

open(IN_TRIALS, '<', "F:/2010_nist_sre_test_set/data/eval/keys/coreext-coreext.trialkey.csv") or die "cannot open trials list";

错误无法开启试用。

如何解决这个问题?

首先,确保该文件存在于以下位置: F:/2010_nist_sre_test_set/data/eval/keys/coreext-coreext.trialkey.csv

使用现代方式读取文件,使用词法文件句柄:

#!/usr/bin/perl

use strict;
use warnings;

my $filename = "F:/2010_nist_sre_test_set/data/eval/keys/coreext-coreext.trialkey.csv";
open(my $fh, '<:encoding(UTF-8)', $filename)
  or die "Could not open file '$filename' $!";
...
...
close $fh;

如果您正在阅读csv文件,那么建议使用 Perl Module Text::CSV_XS

如果您使用Text::CSV_XS ,语法如下:

use Text::CSV_XS;
 
my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1 });

my $filename = "F:/2010_nist_sre_test_set/data/eval/keys/coreext-coreext.trialkey.csv";
open my $fh, "<:encoding(utf8)", $filename or die "$filename: $!";
while (my $row = $csv->getline ($fh)) {
    #do the necessary operation
}
close $fh;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM