加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

PERL数组的遍历

发布时间:2020-12-16 00:07:51 所属栏目:大数据 来源:网络整理
导读:???? 在双引号内可以使用@直接输出数组 @rocks=qw(flinstone slate rubblke);print "quarrz @rocks limtstonen";#print "fred@rocks.com.cn";#如果我们真的想要输出@21136.com.cn,那么我们需要将@转义,即@;或者直接使用单引号@fred=qw(hello dolly);$y=2

???? 在双引号内可以使用@直接输出数组

@rocks=qw(flinstone slate rubblke);
print "quarrz @rocks limtstonen";
#print "fred@rocks.com.cn";#如果我们真的想要输出@21136.com.cn,那么我们需要将@转义,即@;或者直接使用单引号
@fred=qw(hello dolly);
$y=2;
$x="This is $fred[1]`s placen";
print $x;
$x="this is $fred[$y-2]`s placen";
print $x;
print @fred;
print "n";
$rock="ads";
foreach $rock(@fred)
{
	$rock.="n"	;
}
print @fred;
print $rock;
foreach可以遍历整个数组,但是不同的是

在每次循环迭代时,控制变量,比如$rock不是列表元素的复制品,而他实际上就是列表元素,也就是说如果在循环中修改了控制变量,实际上就是修改了列表,然而当,循环结束

后控制变量仍然是循环之前的数据,如果未被赋值过那它就还是undef

PERL中的默认变量"$_"

参考代码:

@tmp=qw(abc bcd efg);

foreach(@tmp)

{

??? print $_;

?? print "n";

}

默认变量,即当未告知PERL使用哪一个变量或者数值的时候会自动使用的变量,不需要程序员自行声明的变量

reverse操作符,即将列表中的值进行反向操作,需要注意的是该操作并不会改变传递进来的参数,因此如果没有被赋值的列表,则该操作不再具有意义

sort操作符读取列表中字符的值,并且根据字符编码的升序进行排列。

参考代码:

@tmp=qw(a b c d);

@sorted=sort(@tmp);

print @sorted;

一个例外的实例

@number=qw(97 98 99 100 101 102);
@sorted=sort(@number);
foreach(@sorted)
{
?? ?print $_;
?? ?print " ";
}

输出的结果是100 101 102 97 98 99

为什么会这样呢?因为根据默认的排序规则,排在首位的,先进行比较,首位的1自然要比9要小,所以,100,就排在了99的前面

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读