Perl:无法打开文件名为输入的文件

时间:2017-09-15 18:33:23

标签: perl file-io file-handling

我正在尝试将文件的行复制到另一个文件。我想为输入和输出文件提供文件名。我试图没有要求任何输入参数,它工作正常,但文件名作为输入失败。这是我的代码:

use strict;
use warnings;

#names of file to be input and output 
my $inputfile = <STDIN>;
my $outputfile = <STDIN>;

open(INPUT,'<', $inputfile) 
or die "Could not open file '$inputfile' $!";

open(OUTPUT, '>', $outputfile) 
or die "Could not open file '$outputfile' $!";

while (<INPUT>) {
  print OUTPUT;
}

close INPUT;
close OUTPUT;
print "done\n";

1 个答案:

答案 0 :(得分:1)

chomp输入变量以删除换行符:

use strict;
use warnings;

#names of file to be input and output 
my $inputfile = <STDIN>;
my $outputfile = <STDIN>;

chomp $inputfile;
chomp $outputfile;

open(INPUT,'<', $inputfile) 
or die "Could not open file '$inputfile' $!";

open(OUTPUT, '>', $outputfile) 
or die "Could not open file '$outputfile' $!";

while (<INPUT>) {
  print OUTPUT;
}

close INPUT;
close OUTPUT;
print "done\n";