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