在下面的代码中,如果语句之间FILE
和之间有空格(
,例如printf
printf FILE ("Test string inline\n");
否则Perl 将被FILE
视为文件句柄
printf FILE("Test string inline\n");
将被视为子程序调用(如果 FILE perl 没有定义子程序,则会出现错误Undefined subroutine &main::FILE called at ./test.pl line xx
)。Perl 没有更好的方法来实现这一点吗?(也许这就是为什么裸字文件句柄被认为是过时的?)
#!/usr/bin/perl
use warnings;
open(FILE,">test.txt");
printf FILE ("Test string inline\n");
close(FILE);
sub FILE
{
return("Test string subroutine\n");
}