3

这是由 s2p 生成的程序的一部分,该程序构建执行特定sed命令的 perl 脚本。

# getsARGV: Read another input line into argument (default: $_).
#           Move on to next input file, and reset EOF flag $isEOF.
sub getsARGV(;\$){
    my $argref = @_ ? shift() : \$_;
    while( $isEOF || ! defined( $$argref = <ARG> ) ){
        close( ARG );
        return 0 unless @ARGV;
        my $file = shift( @ARGV );
        open( ARG, "<$file" )
        || die( "$0: can't open $file for reading ($!)\n" );
        $isEOF = 0;
    }
    1;
}

我在 perlsub 上找不到任何解释这个子签名的东西。

该代码也确实工作得很好。

4

1 回答 1

2

这是一个原型。该特定原型强制解析器仅接受用法

getsARGV()

getsARGV($SCALAR)

并导致它们被编译为

&getsARGV()

&getsARGV(\$SCALAR)
于 2013-04-20T04:46:29.817 回答