亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
這個目錄遞歸查詢怎么改
[打印本頁]
作者:
kggg
時間:
2015-12-04 14:55
標題:
這個目錄遞歸查詢怎么改
請教一下, 下面的腳本一直不成功, 怎么改好?
use strict;
use warnings;
use 5.010;
&diraction('/path/to/dir');
sub diraction{
my $dir = shift;
opendir(H, $dir) or die "can't open dir";
chdir $dir;
my @info = readdir H;
closedir H;
for (sort @info){
next if $_ =~ /^(\.|\.\.)/;
if( -d ){
diraction($dir."/".$_);
}
else
{
say $_." is a files";
}
}
}
復制代碼
作者:
104359176
時間:
2015-12-04 16:03
目錄遞歸涉及操作系統(tǒng),很多細節(jié),不如用 Perl 自帶的模塊:
use File::Find::Wanted qw(find_wanted);
my @files = find_wanted( sub { -f && /\.jpg$/ }, $dir );
復制代碼
作者:
kggg
時間:
2015-12-04 18:55
回復
2#
104359176
謝謝啊, 不知道具體問題出在哪。
有時不方便裝模塊需要用一下自己寫的遞歸。
作者:
jason680
時間:
2015-12-04 23:03
issue here:
chdir $dir;
作者:
104359176
時間:
2015-12-05 00:05
回復
3#
kggg
如果公司不準裝 Perl 模塊,就用內(nèi)置的隨發(fā)行版一起發(fā)布的模塊: File::Find:
http://perldoc.perl.org/File/Find.html#SEE-ALSO
use File::Find;
find(\&wanted, @directories_to_search);
sub wanted { ... }
use File::Find;
finddepth(\&wanted, @directories_to_search);
sub wanted { ... }
use File::Find;
find({ wanted => \&process, follow => 1 }, '.');
復制代碼
雖然這個模塊不太好用,但從比自己寫強多了。
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2