Perl 从.txt文件加载单词/字符串
我编写了一个基本的Perl脚本,用于生成一组单词的所有可能的唯一组合: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文件加
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";