perl 数组赋值 求解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 数组赋值 求解释相关的知识,希望对你有一定的参考价值。

my %adusers;
while (my $entry = $result->shift_entry)
my $sam = $entry->get_value('sAMAccountName');
my $mail = $entry->get_value('mail');
if (!defined($sam) || $sam eq "")
next;

if (!defined($mail) || $mail eq "")
next;

if ($sam !~ /^[a-zA-Z0-9._-]+$/)
next;


print LOG $sam . ", " . $mail . "\n";

my $user = [];
@$user[0] = $sam;
@$user[1] = $mail;
$adusers$sam = $user; ###求这句的解释 %adusers 和这里$adusers赋值$user含义
$adcounter++;

参考技术A %adusers 是hash,$sam是这个hash的key,整个$adusers$sam可以看做一个变量,相当于hash的value,所以这句话的意思是把$user这个变量赋给以$sam为key的hash%adusers的value

声明hash是用%'hash的名称',调用hash的value是用$'hash的名称'key。
参考技术B 首先, 这个程序可以简化一点的 (而我在最後加了两句, 留意结果) :

while (my $entry = $result->shift_entry)
my $sam = $entry->get_value('sAMAccountName');
my $mail = $entry->get_value('mail');
print LOG "$sam, $mail$/";

next unless ( $sam and $mail and $sam =~ /^\w+$/g );
my $user = [];
@$user[0] = $sam;
@$user[1] = $mail;
$adusers$sam = $user;


use Data::Dumper;
print Dumper \%adusers;

其实当中的:
my $user = [];
@$user[0] = $sam;
@$user[1] = $mail;
其实又可以写成 :

my $user = [ $sam , $mail ];
$adusers$sam = $user;
又可以写成 :
$adusers$sam = [ $sam , $mail ];
最後你会发现 %adusers 的结构就是 :

$VAR1 =>
'路人甲' => [
'路人甲',
'email address',
],
'路人乙' => [
'路人乙',
'email address',
],


所以使用的时候就是
$mail = $adusers'路人甲'->[1] ;
print $mail;

後记, 其实... 根本不需要
my $user = [];
@$user[0] = $sam;
@$user[1] = $mail;
$adusers$sam = $user;

$adusers$sam = $mail ; # 就够了.

因为那个 key (路人甲) 与 $user->[0] (都是'路人甲') 根本就是重覆的数据本回答被提问者和网友采纳

verilog求解释

reg[3:0]out1,out2,out3;

reg是什么?
[3:0]又表示什么?

reg指示的后边的变量"out1,out2,out3"这3个变量的类型,可以称叫”寄存器变量“但不一定综合后为寄存器,always块中的组合逻辑变量也会定义该变量
[3:0]表示的后边的变量"out1,out2,out3"这3个变量都是4位位宽的总线。以out1为例,就是out1[3],out1[2],out1[1],out1[0]
参考技术A reg表示register数据类型。

[3:0]表示位宽,4bits位宽,从高到低…

解释完了。

以上是关于perl 数组赋值 求解释的主要内容,如果未能解决你的问题,请参考以下文章

求解 :C语言中 怎么把数组元素赋值为空字符?谢谢

请问怎么给perl里的标量,哈希,数组赋初值?

Matlab代码求解释,尤其是第二行和第六行(认知无线电频谱感知)

PHP中的并行数组赋值

perl :在数组@array中增加新的元素有几种方法?请详细一一列出,谢谢!

vector二维数组的问题。