我是perl的新手,我想知道这行代码是什么意思?
($q,$dummy, $d,$v) = split;
Run Code Online (Sandbox Code Playgroud)
我搜索谷歌,但我没有找到使用拆分没有参数的解释,这种用途是否与"while"块有关?
完整的代码片段是:
open(T,"$opt_judgments") || die "can't open judgment file: $opt_judgments\n";
while (<T>) {
if ($opt_trec) {
($q,$dummy, $d,$v) = split;
} else {
($q,$d,$v) = split;
}
$dict{$q ."=".$d} =$v;
if ($v != 0) {
$totalRels{$q} ++;
}
}
Run Code Online (Sandbox Code Playgroud)
来自perldoc:
split 的一般语法是:
split /PATTERN/,EXPR
Run Code Online (Sandbox Code Playgroud)
如果EXPR省略,则会分割$_字符串。
如果PATTERN也被省略,则在空格上分割(跳过任何前导空格之后)。任何匹配的内容PATTERN都将被视为分隔字段的分隔符。(请注意,分隔符可能长于一个字符。)
因为在你的情况下, 和 都PATTERN被EXPR省略了。发生对空白的分割$_,分割的前四块分别分配给$q、$dummy和$d。$v
| 归档时间: |
|
| 查看次数: |
884 次 |
| 最近记录: |