第一种方法:
这种只能获取当前文件夹下文件名
在这里插入图片描述
第二种方法借用 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 = ...