第一种方法:
这种只能获取当前文件夹下文件名
第二种方法借用 ls 命令
这种方法麻烦点,但实用
unlink "name_list.log";
system "touch name_list.log";
system "ls $dir_path >> name_list.log";
$list = "name_list.log";
open (IN_DIR,"$list");
while($line = <IN_DIR>){
chomp($line);
push @list_array , $line;
foreach $list_array (@list_array){
.............
...........
......
第三种方法:
通过readdir 获得,但会把文件夹下根目录文件夹一并输出
<br />--------------------------------------------------------------- <br />
调用系统命令dir或者ls,将其输出再放入一个数组就可以了. <br />
--------------------------------------------------------------- <br />
opendir(DIR, $dir_name) || die "Can't open directory $dir_name"; <b
如果你想用Perl读取一个目录下的所有文件名,你应该怎么办呢?一般来讲,我喜欢用两种方法。
第一种方法,直接用readdir来读取目录句柄。
下面展示一些 内联代码片。
use warnings;
use strict;
my $dir = "./test";
my $file;
my @dir;
opendir (DIR, $dir) or die "can't open the directory!";
@dir = readdir DIR;
foreach $file (@dir) {
my $dir ='F:\VirtualShare\NRT\2019183_14_02_igu1888';
my @files = glob( $dir );
foreach (@files ){
print $_ . "\n";
运行结果:
文件夹未带文件描述时仅显示当...
# print $path;
opendir(TEMP, $path) || die "open $path fail...$!";
my @FILES = readdir TEMP;
for my $filename (@FILES)
#!/bin/perl
# Extension_filename_lister v0.1
# List all extension filenames without duplicate in a directory.
use strict;
use warnings;
$path="C:\Users\ABC\Desktop\ivector\data\A1_0.htk";
@Name = split(/\\/,$path); #将path按“\”分割,得到一个数组,@表示数组
$num = 1; #因为perl数组是从0开始,一会需要将数组的长度减1
$count = @Name; #获取数组的长度
$ind = ...