在另一个Stack Overflow问题中, Leon Timmermans断言:
我建议你不要使用原型.它们有它们的用途,但对大多数情况并非如此,绝对不是在这个例子中.
为什么这可能是真的(或其他)?我几乎总是为我的Perl函数提供原型,而且我从来没有见过其他任何人说使用它们的坏事.
我有一个文件夹,里面有很多子文件夹.在这些子文件夹中,我有许多.html文件要读取.我写了以下代码来做到这一点.它打开父文件夹和第一个子文件夹,它只打印一个.html文件.它显示错误:
NO SUCH FILE OR DIRECTORY
Run Code Online (Sandbox Code Playgroud)
我不想改变整个代码.对现有代码的任何修改对我都有好处.
use FileHandle;
opendir PAR_DIR,"D:\\PERL\\perl_programes\\parent_directory";
while (our $sub_folders = readdir(PAR_DIR))
{
next if(-d $sub_folders);
opendir SUB_DIR,"D:\\PERL\\perl_programes\\parent_directory\\$sub_folders";
while(our $file = readdir(SUB_DIR))
{
next if($file !~ m/\.html/i);
print_file_names($file);
}
close(FUNC_MODEL1);
}
close(FUNC_MODEL);
sub print_file_names()
{
my $fh1 = FileHandle->new("D:\\PERL\\perl_programes\\parent_directory\\$file")
or die "ERROR: $!"; #ERROR HERE
print("$file\n");
}
Run Code Online (Sandbox Code Playgroud)