Perl从一个文件读取,在Windows上将内容写入另一个文件

时间:2015-04-23 19:05:19

标签: windows perl file-io

我对Perl及其语法很新。我已经做了一些关于从一个文件中读取并写入另一个文件的研究。我写了一小段代码似乎没有给我任何错误,但它也没有写入文件。一些帮助将不胜感激。

#!/usr/bin/perl
use strict;
use warnings;

my $defaultfile = 'C:\\Glenn Scott C\\AUTO IOX\\IOMETER FILES\\test.txt';
my $mainfile = 'C:\\Glenn Scott C\\AUTO IOX\\IOMETER FILES\\IOMETERFILECREATOR.txt';

open FILE, $defaultfile;
open FILE2, $mainfile;
while (my $line = <FILE>)
{
     print FILE2($line);
 }
close FILE;
close FILE2;

1 个答案:

答案 0 :(得分:1)

关闭,但不完全。

  • 打开最好用3个参数完成。 open ( my $default_fh, '<', $defaultfile ) or die $!;

  • print到文件句柄不起作用。这是print {$main_fh} $line;

  • 您应该测试open是否成功。 or die $!就足够了。

所以这就是你所需要的:

#!/usr/bin/perl
use strict;
use warnings;

my $defaultfile = 'C:\\Glenn Scott C\\AUTO IOX\\IOMETER FILES\\test.txt';
my $mainfile =
    'C:\\Glenn Scott C\\AUTO IOX\\IOMETER FILES\\IOMETERFILECREATOR.txt';

open( my $default_fh, "<", $defaultfile ) or die $!;
open( my $main_fh,    ">", $mainfile )    or die $!;
while ( my $line = <$default_fh> ) {
    print {$main_fh} $line;
}
close $default_fh;
close $main_fh;