簡體   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