Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Can';t在-e处修改标量赋值中的打印_Perl - Fatal编程技术网

Perl Can';t在-e处修改标量赋值中的打印

Perl Can';t在-e处修改标量赋值中的打印,perl,Perl,我有一些代码,我想用它来查找排序文件中的重复项。(受awk启发的)代码如下所示: perl -wnla -e 'BEGIN {$previous = -1} $F[1] == $previous ? print $F[1] : $previous = $F[1]' ../VCF/FIN_20.vcf 不幸的是,它给了我一个错误: Can't modify print in scalar assignment at -e line 1, at EOF Execution of -e aborte

我有一些代码,我想用它来查找排序文件中的重复项。(受awk启发的)代码如下所示:

perl -wnla -e 'BEGIN {$previous = -1} $F[1] == $previous ? print $F[1] : $previous = $F[1]' ../VCF/FIN_20.vcf
不幸的是,它给了我一个错误:

Can't modify print in scalar assignment at -e line 1, at EOF
Execution of -e aborted due to compilation errors.
我需要做什么才能让它工作

文件看起来像

20  5282284 rs73594467
20  5282299 rs148317959
20  5282336 rs927106

只需在最后一条指令周围添加paren:

perl -wnla -e 'BEGIN {$previous = -1} $F[1] == $previous ? print $F[1] : ($previous = $F[1])' 
#                                                                here ___^              ___^
没有它们,就像:

($F[1] == $previous ? print $F[1] : $previous) = $F[1]

只需在最后一条指令周围添加paren:

perl -wnla -e 'BEGIN {$previous = -1} $F[1] == $previous ? print $F[1] : ($previous = $F[1])' 
#                                                                here ___^              ___^
没有它们,就像:

($F[1] == $previous ? print $F[1] : $previous) = $F[1]

更好的是,如果$F[1]=$prev,他可以使用更清晰的
打印$F[1]$prev=$F[1]
更好的是,如果$F[1]=$prev,他可以使用更清晰的
打印$F[1]$prev=$F[1]