Perl - 将未定义数量的字符串连接成一个字符串

时间:2015-02-13 18:31:50

标签: string perl concatenation

我需要用Perl连接一个未定义数量的字符串来创建一个更大的字符串。

对于在程序早期打开的文件中提供的所有字符串,

$concatenated_string = $string1 . $string2 . $string3#..等等。

我只是一个初学者,但我在这里找不到任何与之相关的问题。非常感谢任何帮助。

3 个答案:

答案 0 :(得分:5)

作为I have mentioned elsewhere

  

当您发现自己为变量名添加整数后缀时,请考虑“ 我应该使用数组 ”。

然后您可以使用join('', @strings)

答案 1 :(得分:2)

我猜了一下,因为你没有太多示例代码。

但你考虑过这样的事情:

open ( my $input_fh, "<", "filename" ) or die $!;
my $concatenated_string;
while ( my $line = <$input_fh> ) {
    chomp ( $line ); #if you want to remove the linefeeds.
    $concatenated_string .= $line; 
}

答案 2 :(得分:1)

#!/usr/bin/env perl

# Modern Perl is a book every one should read
use Modern::Perl '2013';

# Declaring array to store input
my @info;

# Using a loop control to store unknow number of entries
while (<STDIN>) {    # Reading an undefined number of strings from STDIN

  # Removing the \n
  chomp;

  # Stacking input value into array
  push(@info, $_);
}

# printing all entries separated by ","
say join(', ', @info);

# exit program indicating success (no problem)
exit 0;

OR

my $stream;
$stream .= $_ while <STDIN>;
print $stream;