現在、私はperlを勉強しており、再帰的なサブルーチンを使ってディレクトリツリーをどのようにトラバースするかを説明するコードを遭遇しました。これは私がサブルーチンを理解し、それがどのように動作するか、しかし、私はこの文を理解していなかった変数への(シフト|| '。')の適用
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;
}
問題のコードです: 、私はそれがあることを知っている (私の$パス=シフトを||「」)サブルーチンに渡される変数ですが、どのような値が必要なのかわかりません。前もって感謝します。