我是 Perl 的新手。我正在尝试编写一个 Perl 脚本,该脚本打印目录中所有文件的内容并递归执行,直到打印目录/子目录中的所有文件。我正在使用以下子程序进行操作。
sub print_files_in_dir {
my $file = shift;
if(-d $file){
my @files=glob "$file/*";
foreach my $file (@files){
if(-d $file){
print_files_in_dir $file;
}
else {
print_file $file;
}
}
else {
print_file $file;
}
}
其中 print_file 是 sub 打印单个文件的内容。当我尝试使用目录 dir1 执行此代码时出现此错误,该目录包含另一个名为 dir2 的目录。
无法通过包“dir1/dir2”找到对象方法“print_files_in_dir”(也许您忘记加载“dir1/dir2”?)
无法弄清楚为什么会引发此错误?