opendir
戻る
列出一個(gè)目錄下的所有文件
# pro_list.pl
use strict;
my(%t,$file);
opendir(BIN,"cgi-bin\\pro");
open(OUT,">perlpro_list.txt");
print OUT "filename=perpro_list.txt.\n";
while (defined ($file = readdir BIN ) ) {
next if $file =~ /^\.\.?$/;
print OUT "file==>$file\n";
}
close(BIN);
運(yùn)行結(jié)果
input.pl(該程序的要點(diǎn)是使用opendir)
# input.pl
use strict;
use HTML::Template;
my(%t,@fld,$n,$template,@loop);
$t{tmpl} = 'input0.htm';
$t{htmfile} = 'index.html';
$template = HTML::Template->new(filename => $t{tmpl});
print "Please input the directory name=";
chop($t{dir}=);
opendir(DIR,"$t{dir}") or die "Can't opendir $t{dir}: $!";
while ( defined($t{file}=readdir(DIR)) ) {
next if $t{file} =~ /^\.\.?$/; # skip . and ..
if ( substr($t{file},-3) eq 'csv' ) {
$t{NO1} = $t{file};
substr($t{NO1},-4) = '';
substr($t{NO1},0,9) = '';
$t{list}{$t{NO1}} = $t{file};
}
}
close(DIR);
@loop = ();
$t{N1} = 0;
for $n ( sort {$a<=>$b} keys %{ $t{list} } ) {
$t{N1}++;
$t{file} = $t{list}{$n};
$t{N3} = '' . $t{file} . '';
my %row = (
N1 => $t{N1},
N2 => $n,
file => $t{N3}
);
push(@loop, \%row);
}
$template->param(loop => \@loop);
$template->param(dir => $t{dir});
open(OUT,">./$t{dir}/$t{htmfile}");
print OUT $template->output;
close(OUT);
print "The output file is ./$t{dir}/$t{htmfile}\n";
__END__;
戻る
天柱县|
锡林郭勒盟|
西城区|
乐清市|
新化县|
丁青县|
时尚|
广宁县|
额济纳旗|
三台县|
富平县|
阿合奇县|
萨嘎县|
镇远县|
高平市|
十堰市|
靖边县|
青州市|
甘谷县|
武义县|
左权县|
平阴县|
汝南县|
巍山|
临汾市|
商河县|
庆云县|
航空|
合水县|
伊宁市|
正定县|
岢岚县|
保德县|
永康市|
五河县|
修水县|
京山县|
株洲市|
光山县|
民县|
西林县|