2017-09-15 62 views
1

我試圖將文件的行復制到另一個文件中。我想爲輸入和輸出文件提供文件名。我試着不要求任何輸入參數做,它工作得很好,但用文件名作爲輸入它failed.Here是我的代碼:Perl:無法打開文件名爲輸入的文件

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

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"; 
相關問題