perl list去重代码疑问

pyruby 发布于 2013/08/29 15:24
阅读 263
收藏 0

下面这段代码,谁能帮忙解释下,没见过这种写法,主要是@saw{@in} = ()这段,该段代码的作用应该是消重。

#!/usr/bin/perl
use warnings;
use strict;
use feature 'say';

my %saw = ();
my @in = (1,1,3,3,4);
@saw{@in} = ();

print join("\n", keys(%saw));


加载中
0
pyruby
pyruby

引用来自“宝仔love”的答案

引用来自“kiwivip”的答案

列表上下文,空列表赋值给 values %saw
嗯,perl的切片数组元素,懂了

去两个例子,更能让人明白

#!/usr/bin/perl
use warnings;
use strict;
use feature 'say';

my %saw=(1=>2,3=>4,5=>6);
my @in=('192.168.1.100','127.0.0.1','127.0.0.1','192.168.1.101','192.168.102');

say @saw{1,3}; 
say @in[0,3];

0
kiwivip
kiwivip
列表上下文,空列表赋值给 values %saw
0
pyruby
pyruby

引用来自“kiwivip”的答案

列表上下文,空列表赋值给 values %saw
嗯,perl的切片数组元素,懂了
返回顶部
顶部