В настоящее время я изучаю perl, и когда я столкнулся с частью кода, объясняя, как пересечь дерево каталогов с помощью рекурсивных подпрограмм. Это код в вопросеПрименение (shift || '.') К переменной
use strict;
use warnings;
use 5.010;
my $path = shift || '.';
traverse($path);
sub traverse {
my ($thing) = @_;
return if not -d $thing;
opendir my $dh, $thing or die;
while (my $sub = readdir $dh) {
next if $sub eq '.' or $sub eq '..';
say "$thing/$sub";
traverse("$thing/$sub");
}
close $dh;
return;
}
я понял подпрограмму и как она работает, но я не понимаю, это заявление: ; Я знаю, что это (мой путь $ = сдвиг || «») переменную, которая передается подпрограмме, но я не знаю, какое значение она принимает. Заранее спасибо.