gpt4 book ai didi

perl - 无法弄清楚为什么 perl 打印出换行符然后打印数据而不是相反

转载 作者:行者123 更新时间:2023-12-02 04:57:15 25 4
gpt4 key购买 nike

嗯,我的代码很简单。它应该打印 content +\n 但结果以某种方式相反。

这里是代码:

#!/usr/bin/perl -w 

use strict;

my $founds;

while (<>){
$$founds{$2} = $& while m/([A-Z]{3})([a-z])([A-Z] {3})/g;
}

print sort keys %$founds, "\n";

结果是:

(here is a newline)  
abcdefghijklmnopqrstuvwxyz

希望它也发生在你的配置中(如果你想下载我在代码中使用的文件 go here )

你知道吗?

P.S:正则表达式不允许换行符,所以问题不太可能出在它身上。

最佳答案

首先获得换行符的原因是由于缺少括号而将其包含在排序中。改为这样做:

print sort(keys %{$founds}), "\n";

换行符首先出现是巧合(或者更确切地说,由于是非空白字符中的空白字符)。

为了澄清:

my %found = ( foo => 1, bar => 1 );   # keys returns "foo", "bar"
print sort keys %found, "\n"; # sort gets "foo", "bar", "\n"
# ^^^^^^^^^^^^^^^^^----------- arguments to sort()

关于perl - 无法弄清楚为什么 perl 打印出换行符然后打印数据而不是相反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17778011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com