Perl 从.txt文件加载单词/字符串

Perl 从.txt文件加载单词/字符串,perl,Perl,我编写了一个基本的Perl脚本,用于生成一组单词的所有可能的唯一组合: use Algorithm::Combinatorics qw(combinations); my $strings = [qw(GGGG CCCC TTTT AAAA)]; my $iter = combinations($strings, 2); while (my $c = $iter->next) { print "@$c\n"; } 我想知道是否有人能给我指出一个好的方向,告诉我如何从.txt文件加

我编写了一个基本的Perl脚本,用于生成一组单词的所有可能的唯一组合:

use Algorithm::Combinatorics qw(combinations);
my $strings = [qw(GGGG CCCC TTTT AAAA)];
my $iter = combinations($strings, 2);
while (my $c = $iter->next) {
    print "@$c\n";
}
我想知道是否有人能给我指出一个好的方向,告诉我如何从.txt文件加载字符串,而不是手动添加字符串(ggggccccttttaaaa等等)。我应该说,我对Perl相当陌生

我还想知道是否有人能解释为什么输出中的单词之间有空格:

GGGG CCCC
GGGG TTTT
GGGG AAAA
CCCC TTTT
CCCC AAAA
TTTT AAAA
这是因为我分开琴弦的方式吗

更新:

为了从.txt文件更新RE:importing并将其放在此处,以防对其他初学者有所帮助,我已经编写并正在使用以下内容:

open (my $data, "<", "test.txt") or die "There was a problem opening: $!";
my @primers = <$data>;
close $data;
chomp @primers;
use strict; use warnings;
use Algorithm::Combinatorics qw(combinations);
my $strings = \@primers;
my $iter = combinations($strings, 2);
while (my $c = $iter->next) {
    print "@$c\n";
}

open(my$data),正如建议的那样,您可以浏览各种链接,建议如何写入文件..!此外,由于您正在字符串上下文中打印数组(称为字符串化数组),因此在这两个链接之间您将获得规范

至于空格:方法
$iter->next
似乎返回一个包含两个值的数组引用。在第一行,即
['GGGG',CCCC']
。如果将数组放入字符串(
打印“@foo”
)它被字符串化。这意味着,所有元素都将被连接到一个字符串中。Perl使用变量
$“
进行连接

print "@$c\n";
也就是说:

print join( $", @{ $c }) . "\n";
默认情况下,
$”
包含一个空格(


您可以在中阅读
$”
。下面是它的说明:

$”
将数组或数组切片插入 双引号字符串或类似上下文,如
/…/
,其 元素由该值分隔。默认值为空格。例如, 这:

相当于:

print "The array is: " . join($", @array) . "\n";
助记法:在双引号上下文中使用


感谢您提供的精彩链接!关于该文件,您应该阅读Quentin的链接并四处尝试。如果您遇到问题,请返回并创建一个新的、具体的问题。我已将原来的打印行替换为:print join(“”,@$c)。“\n”;
print "The array is: " . join($", @array) . "\n";