fh,
"data.txt"
)
#打开文件
foreach
$line
(
){
#循环读取文件
$line
=~
s/\x0d?\x0a?$//
#取得一肢巧行,答燃去掉结尾换行符
@datas
=
split("
"清饥虚,$line)
#把空格当中分隔符,取得数据
$dats[0]
#steve
$dats[1]
#blenheim
$dats[2]
#101
#接下来处理取得的数据
}
不知道你这里读取具体指什么,我就把文件名打印出来,把文件内容打印出来吧。(程序指定两个参数,第一个参数是指定的文件夹名橘汪,每二慎指个参数是指定的扩展名。)#!/usr/bin/perl
use strict
use warnings
die "Usage: $0 <dir><extion>\n" unless @ARGV == 2
my $Dir = $ARGV[0]
my $Ext = $ARGV[1]
opendir(DH, "$Dir") or die "Can't open: $!\n"
#读取指定文件夹下面的指定扩展名的文件名,保存到数组圆孝仔里。
my @list = grep {/$Ext$/ &&-f "$Dir/$_" } readdir(DH)
closedir(DH)
chdir($Dir) or die "Can't cd dir: $!\n"
foreach my $file (@list){
open(FH, "$file") or die "Can't open: $!\n"
print "$file:\n"
while(<FH>){
}
print "\n"
close(FH)
}
给你一个比较复杂点的例子。。。。opendir (DIR,"X:\\")||die"$!"
chdir("X:\\")
@dirs=grep{/^\.\.?$/}readdir DIR
foreach $dir(@dirs){
opendir (DIR2,$dir)||die"$!"
@files=grep{/indd$/}readdir DIR2
close DIR2
}
close DIR
当然还简州有更多的方法,可以用glob,LS所竖搜说的拦纤蔽File::Find等等。。。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)