[英]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.