728x90
반응형
Perl에서 더 좋은 모듈을 발견하지는 못해서, 일일이 파일 사이즈를 모두 더해서 폴더 사이즈를 구하였다. 그래서 시간이 좀 걸린다.
첫번째 방법
use v5.10;
use strict;
use warnings;
use File::Find;
sub get_folder_size {
my ($dst_folder) = @_;
my $folder_size = 0;
find( sub { $folder_size += -f $_ ? -s _ : 0 }, $dst_folder );
return $folder_size;
}
say "Folder Size : ".get_folder_size("C:\\");
두번째 방법
# ------------------------------------------------------------------------------
# 필요한 모듈 : cpanm -n File::Find::Object
# ------------------------------------------------------------------------------
use v5.10;
use strict;
use warnings;
use File::Find::Object;
sub get_folder_size {
my ($dst_folder) = @_;
my $folder_size = 0;
my $tree = File::Find::Object->new({}, ($dst_folder));
while(my $file = $tree->next()) {
next unless -e $file; # 존재하지 않으면 다음
next unless -f $file; # 일반파일이 아니면 다음
next unless -r $file; #
next unless -R $file; #
$folder_size += -s $file;
}
return $folder_size;
}
say "Folder Size : ".get_folder_size("C:\\");
728x90
반응형
'Programming > Perl' 카테고리의 다른 글
(Perl) MojoExample 이용해서 사이트 만들기 (0) | 2014.05.01 |
---|---|
(Perl) Hitachi Storage 장애 체크 (Web) (0) | 2013.03.14 |
(Perl) SAN 스위치 장애 체크 (Telnet) (0) | 2013.03.11 |
Perl : 모듈 관리 (0) | 2012.11.05 |
Perl : StrawberryPerl 에서 PAR::Packer 설치하기 (0) | 2012.05.14 |
댓글