【问题标题】:Perl: iterating over lines in a filePerl:遍历文件中的行
【发布时间】:2015-10-26 02:37:55
【问题描述】:
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

我当前的程序似乎只打印文件的内容,而不是将第一行添加到其他每一行。

【问题讨论】:

    标签: perl


    【解决方案1】:

    当您尝试提供$string1 时,$line 为空。

    可能是这样的:

    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() 是为了从字符串中删除换行符。

    【讨论】:

      猜你喜欢
      • 2012-04-13
      • 2010-10-30
      • 1970-01-01
      • 2012-05-07
      • 2021-09-12
      • 2017-09-29
      • 1970-01-01
      • 2022-07-21
      相关资源
      最近更新 更多