志在指尖
用双手敲打未来

perl数组(perl里怎么对数组实现一次遍历)

perl数组

Perl数组一个是存储标量值的列表变量,变量可所以不同类型。
数组变量以@开头。访问数组元素运用$+变量称号+[索引值]格局来读取,实例如下:
实例
#!/usr/bin/perl@hits=(25,30,40);@names=(“google”,”runoob”,”taobao”);print”\$hits[0]=$hits[0]\n”;print”\$hits[1]=$hits[1]\n”;print”\$hits[2]=$hits[2]\n”;print”\$names[0]=$names[0]\n”;print”\$names[1]=$names[1]\n”;print”\$names[2]=$names[2]\n”;
程序中$符号运用了\来转义,让他原样输出。
履行以上程序,输出成果为:
$hits[0]=25$hits[1]=30$hits[2]=40$names[0]=google
$names[1]=runoob
$names[2]=taobao
创建数组
数组变量以@符号开端,元素放在括号内,也能够以qw开端界说数组。
@array=(1,2,’Hello’);@array=qw/这是一个数组/;
第二个数组运用qw//运算符,它回来字符串列表,数组元素以空格分隔。当然也能够运用多行来界说数组:
@days=qw/google
taobao…runoob/;
你也能够按索引来给数组赋值,如下所示:
$array[0]=’Monday’;…$array[6]=’Sunday’;
访问数组元素
访问数组元素运用$+变量称号+[索引值]格局来读取,实例如下:
实例
@sites=qw/googletaobaorunoob/;print”$sites[0]\n”;print”$sites[1]\n”;print”$sites[2]\n”;print”$sites[-1]\n”;#负数,反向读取
履行以上程序,输出成果为:
google
taobao
runoob
runoob
数组索引值从0开端,即0为第一个元素,1为第二个元素,以此类推。
负数从反向开端读取,-1为第一个元素,-2为第二个元素
数组序列号
Perl供给了能够按序列输出的数组方式,格局为起始值+..+完毕值,实例如下:
实例
#!/usr/bin/perl@var_10=(1..10);@var_20=(10..20);@var_abc=(‘a’..’z’);print”@var_10\n”;#输出1到10print”@var_20\n”;#输出10到20print”@var_abc\n”;#输出a到z
履行以上程序,输出成果为:
123456789101011121314151617181920abcdefghijklmnopqrstuvwxyz
数组巨细
数组巨细由数组中的标量上下文决议:
实例
@array=(1,2,3);print”数组巨细:”,scalar@array,”\n”;
履行以上程序,输出成果为:
数组巨细:3
数组长度回来的是数组物理巨细,而不是元素的个数,咱们能够看以下实例:
实例
#!/uer/bin/perl@array=(1,2,3);$array[50]=4;$size=@array;$max_index=$#array;print”数组巨细:$size\n”;print”最大索引:$max_index\n”;
履行以上程序,输出成果为:
数组巨细:51最大索引:50
从输出的成果能够看出,数组元素只要四个,但是数组巨细为51。perl

perl里怎么对数组实现一次遍历

foreach能够遍历整个数组,但是不同的是
在每次循环迭代时,控制变量,比方$rock不是列表元素的复制品,而他实际上便是列表元素,也便是说如果在循环中修改了控制变量,实际上便是修改了列表,然而当,循环结束
后控制变量仍然是循环之前的数据,如果未被赋值过那它就仍是undef
PERL中的默许变量”$_”
参阅代码:
@tmp=qw(abcbcdefg);
foreach(@tmp)
{
print$_;
print”\n”;
}
默许变量,即当未告知PERL使用哪一个变量或许数值的时分会主动使用的变量,不需要程序员自行声明的变量
reverse操作符,即将列表中的值进行反向操作,需要注意的是该操作并不会改动传递进来的参数,因此如果没有被赋值的列表,则该操作不再具有意义
sort操作符读取列表中字符的值,并且依据字符编码的升序进行排列。
参阅代码:
@tmp=qw(abcd);
@sorted=sort(@tmp);
print@sorted;
一个例外的实例
@number=qw(979899100101102);
@sorted=sort(@number);
foreach(@sorted)
{
print$_;
print””;
}
输出的结果是100101102979899
为什么会这样呢?因为依据默许的排序规则,排在首位的,先进行比较,首位的1自然要比9要小,所以,100,就排在了99的前面

未经允许不得转载:IT技术网站 » perl数组(perl里怎么对数组实现一次遍历)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载