【发布时间】:2012-02-29 23:06:27
【问题描述】:
我正在尝试编写一个 Perl 脚本,该脚本读取目录中的所有文本文件,并将除第一行之外的所有行写入单独的文件。如果有 3 个文件,我希望脚本读取所有这 3 个文件并写入 3 个具有相同行的新文件,但第一个文件除外。这就是我写的.. 但是当我尝试运行脚本时,它执行得很好,没有错误,但没有做它应该做的工作。有人可以看看吗?
opendir (DIR, "dir\\") or die "$!";
my @files = grep {/*?\.txt/} readdir DIR;
close DIR;
my $count=0;
my $lc;
foreach my $file (@files) {
$count++;
open(FH,"dir\\$file") or die "$!";
$str="dir\\example_".$count.".txt";
open(FH2,">$str");
$lc=0;
while($line = <FH>){
if($lc!=0){
print FH2 $line;
}
$lc++;
}
close(FH);
close(FH2);
}
第二个文件不存在,应该是脚本创建的。
【问题讨论】:
-
它对我有用,但我必须在第二行引用
*。你真的有一个名为dir的目录吗,你的路径分隔符是`\`吗? -
@EmilioSilva- 谢谢,这就是问题所在。
标签: perl