我在Perl中有一个数组:
my @my_array = ("one","two","three","two","three");
Run Code Online (Sandbox Code Playgroud)
如何从阵列中删除重复项?
有谁知道可以找到旧的Perl期刊文章的在线副本?
我知道他们现在归Dobb博士所有,只是它的主要页面说它们也是主题相关的任何部分的一部分,而不是被编入索引.也就是说,我从来没有能够在该网站上找到他们中的任何一个.
我知道Mark Jason Dominus 在他的网站上有一些文章,任何人都知道其他任何好地方吗?甚至在Dobb博士那里使用哪些搜索词?
perl -Mstrict -wlE 'my %h; say grep 0, $h{poluted}; say keys %h'
Run Code Online (Sandbox Code Playgroud)
产量
poluted
Run Code Online (Sandbox Code Playgroud)
和
perl -Mstrict -wlE 'my %h; say grep 0, my @r= $h{poluted}; say keys %h'
Run Code Online (Sandbox Code Playgroud)
没有输出.
我想知道为什么输出有所不同?
这有效,
print map { $_." x" => $_ } 1..5;
print map { ("$_ x" => $_) } 1..5;
print map { ("$_ x") => $_ } 1..5;
Run Code Online (Sandbox Code Playgroud)
但这会引发语法错误,
print map { "$_ x" => $_ } 1..5;
Run Code Online (Sandbox Code Playgroud)
这是有记录的bug,没有文档的bug,或者我不明白为什么这不应该编译?
为什么perl认为这应该是map EXPR, LIST代替map BLOCK LIST
我更喜欢1/0而不是t/f,所以在将布尔值转换为整数时我应该使用什么?
select coalesce((null::boolean)::int, 0)
Run Code Online (Sandbox Code Playgroud)
要么
select case null::boolean when 't' then 1 else 0 end
Run Code Online (Sandbox Code Playgroud)
......别的什么?
为什么数字名称的数字被视为预定义的全局变量?
perl -Mstrict -wle '@2014 = 3..6; print "@2014"'
Run Code Online (Sandbox Code Playgroud)
(这里没有警告)
我想粘贴
123
456
789
Run Code Online (Sandbox Code Playgroud)
成psql,并存储在一些可变多行字符串(即:str)以供以后使用.
那可能吗?现在我收到了unterminated quoted string错误.
my %hash =
two => 2,
three => 3,
one => 1,
;
for %hash.sort(*.key)>>.kv -> ($key, $value) {
say "'$key' => '$value'";
}
Run Code Online (Sandbox Code Playgroud)
是%hash.sort({.key})>>.kv等效于上面的排序?
为什么没有超级>>提示这种方法不起作用?
$ echo '!abcae20' | grep -o -P '(?=.*\d)\w{4,}'
Run Code Online (Sandbox Code Playgroud)
这将不输出任何内容.
但以下工作:
$ echo '!abcae20' | grep -o -P '.*?(?=.*\d)\w{4,}'
!abcae20
Run Code Online (Sandbox Code Playgroud)
谁能给我一个解释?