トピック。Find モジュールや du コマンドを使用せずに、ディレクトリのサイズを取得しようとしています。これが現在のアプローチ方法ですが、正しいサイズを返しているようには見えません。418836 バイトが返されますが、du -s を実行すると、ディレクトリ サイズは 141508 になります。
my $size = dir_size('wp-content');
sub dir_size {
my $dir = shift;
my $size = 0;
opendir(DIR,"$dir");
foreach my $node (grep(!/^\.\.?/,readdir())) {
stat($node);
if(-f $node) {
$size += -s $node;
} elsif(-d $node) {
$size += dir_size("$dir/$node");
}
}
closedir(DIR);
return $size;
}
誰かが私が間違っていることを指摘できることを願っています。