在下面的代碼,如果沒有在printf
聲明 FILE
和(
之間的空間像文件句柄夸克的Perl
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");
}
使用'print(FILE「字符串」)或'print FILE「字符串」'。 – choroba
Barewords文件句柄被認爲是過時的,因爲它們引用了全局變量。 – ikegami
你可以重新解釋一下這個問題嗎?這是無法回答的。你從談論Perl語法到詢問是否可以改進一些未提及的實現,而沒有提及衡量這種改進的度量標準。 – ikegami