需要修复perl脚本来读取文件和写入新文件

时间:2013-01-25 07:04:55

标签: perl parsing

我需要复制包含“make”,“model”,“year”字样的文档的每一行。我需要将每行放入一个新文件中。每个行中都会有其他信息。即:make:ford,model:fusion,year:2004。

我需要重复位于同一文件夹中的300个文件,并且所有复制的数据都将写入同一个文件。这些文件很长,但保证排在前30行。

我的数据位于“c:\ incoming \ temp”目录中。我想写的文件是vehicles.txt。

我不知道是否应该制作文件或脚本是否会为我制作?任何帮助将不胜感激,即使你必须完全为我写出来。我什么都不知道。我非常绝望,可以让这件事情发挥作用。再次感谢所有的帮助。

#!/usr/bin/perl 

use strict; 
use warnings; 
my $dir_path="\Incoming\Temp"; 
opendir (Incoming\Temp, $tmp_dir) or die $!; 
open (MYFILE, '>>vehicles.txt'); 
while (my $file_name = readdir(Incoming\Temp)) {print "$file_name\n";} print MYFILE $file_content; close (MYFILE); CLOSEDIR; 

1 个答案:

答案 0 :(得分:1)

你没有问一个问题。我们如何编译代码?

opendir的第一个arg是var以获取文件句柄(稍后您将传递给readdir)。

opendir(my $dh, $tmp_dir)
   or die("Can't open dir \"$tmp_dir\": $!\n");

你真的应该为open的第一个arg使用var。

open(my $fh, '>>', 'vehicles.txt')
   or die("Can't open \"vehicles.txt\": $!\n");