print "enter file name\n";
$infile = <>;
open IN, "$infile";
$string1 = $line; #store first line of file as $string1
while($line = <IN>){
$string2 = string1 + $line;
print "$string2\n";
}
我尝试编写一个提示用户输入文件名的功能,打开文件,将文件的第一行存储为$string1
。然后它迭代文件中的下一行并向每行添加$string1
并打印出输出。
所以,如果我有一个包含
的文件10
5
6
7
$string1
应为10.输出应为:
15
16
17
我当前的程序似乎只打印我文件的内容,而不是将第一行添加到其他每一行。
答案 0 :(得分:3)
当您尝试提供$line
时,$string1
为空。
可能是这样的:
print "enter file name\n";
$infile = <>;
open IN, "$infile";
$string1 = <IN>; #store first line of file as $string1
chomp($string1);
while($line = <IN>){
chomp($line);
$string2 = $line+$string1;
print( $string2 . "\n");
}
chomp()
是为了从字符串中删除换行符。