在Perl的AWK?我有一个AWK命令行.我不知道如何在Perl脚本中使用它

use*_*577 2 perl awk

我的AWK命令是:

awk'BEGIN {count=0} {count=count+($3-$2)} END {print count}' zebrafish
Run Code Online (Sandbox Code Playgroud)

如何在Perl脚本中使用它?

jks*_*hah 5

我认为没有必要使用awk内部perl.相同的功能可以完全在perl如下实现

open my $fopen, '<', zebrafish or die $!;
my $count = 0;
while (<$fopen>) {
    $count += $3-$2 if /(\S+)\s+(\S+)\s+(\S+)/;
}
print "count = $count\n";
close $fopen;
Run Code Online (Sandbox Code Playgroud)

如果你还想使用 awk

您可以使用system函数awkPerl脚本调用任何shell命令

system("<awk_command>");
Run Code Online (Sandbox Code Playgroud)

如果你想要输出awk存储在变量里面perl然后使用

my $awk_output = `<awk_command>`;
Run Code Online (Sandbox Code Playgroud)

另外,您的awk命令可以压缩为

awk'{count+=($3-$2)} END {print count}' zebrafish
Run Code Online (Sandbox Code Playgroud)