温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Perl数组的使用技巧

发布时间:2021-07-21 23:33:59 来源:亿速云 阅读:124 作者:chen 栏目:开发技术

这篇文章主要讲解了“Perl数组的使用技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Perl数组的使用技巧”吧!

Perl数组的使用

Perl数组是perl里面一种非常有用的东西。我们可以通过下面的方式定义Perl数组:

 @a=("hello","great","cipher");
 @b=(1,2,3,4,5,6,7);


◆@b的定义方式还可以写成下面的形式:

 @b=(1..7);#这种方式对于需要1到10000的初始值得Perl数组真实太重要了。 
 @b=("a".."z");

也是可以的,但是我想不出来对中国人有什么用。定义一个空Perl数组可以用下面的方式:

 @c=();

访问Perl数组通过下面的方式(下标和c语言一模一样,从0开始,basic的用户要注意了):

 $b[0]=10000;

注意这里引导符变成了$不是@。通过这个变化表示这时正在访问一个单独的数据。而不是一组数据。还可以使用多个下标,但是这时就要使用@引导符了。例如:

 @b[5,7,9]=(45,56,67);

这种情况下,print$b[8];将会在使用了perl-w得到一个使用未定义变量的错误,其他情况下什么都不会发生。

Perl数组之间相互拷贝,可以用下面的方式:

 @d=@c;

这样要比c语言简单多了。同c语言不同,perl的Perl数组是可以动态改变大小的。因此我们可以追加,删除Perl数组内的元素。追加一个元素可以使用这种方式:

 @c=(@c,"hello");


◆perl里面有一个专门的函数用来惊醒追加操作叫做push,push的使用方法如下:

 push(@c,"hello");
 push(@c,("hello","halloha"));
 push(@c,@a);

这里可以看到,可以给Perl数组追加一个元素,一组元素甚至另外一个Perl数组。另外,在perl的Perl数组中可以放不同类型的标量。这一点在c程序员的眼中可能有点怪异,但是如果记住perl里面的一切都是引用就可以了。或者理解成这是一个void类型的指针的Perl数组。有了push,就一定有pop。pop就是从Perl数组的***取出一个元素。用法为:

 pop(@a);

既然可以从Perl数组的末尾加入元素,那么一定也可以从Perl数组的开头加入元素。那么这个功能是由unshift函数提供的。用法为:

 unshift(@c,"hello");
 unshift(@c,("hello","halloha"));
 unshift(@c,@a);

有了unshif就一定会有shift了。shift的功能是从Perl数组的开头取出一个元素。用法为:

 unshift(@a);

有了操作Perl数组两端的函数那么一定也会有操作Perl数组中间部分的函数,这个函数就是splice,splice函数有三个作用。***个作用是向Perl数组中间的一部分插入内容。例如:

 @d=(1..9);
 my@e=("a".."f");
 splice(@d,2,2,@e);

将会得到12abcdef56789,注意这里是从第二个开始插入,不是从下标为2的元素开始插入的。splice的第二个功能是删除,例如在刚才的代码上面再加上:

 splice(@d,2,6);

将可以得到1256789;splice的第三个功能就是删除到末尾。语法为:

 splice(@d,2);

就是从第二个开始,删除到末尾。我们还应该有一个可以把整个Perl数组合并成一个标量的函数。这个函数就是join,join有两个参数,***个参数是合并时放在元素之间的分割符,第二个是进行操作的Perl数组。例如:

 my@g=(1,2,3);
 join("",@g);

将可以得到“123”,还有三个函数我们昨天已经见过了,就是undef,chop和chomp。undef(@a);的作用是把@a的内容清空。chop(@a);的作用是把Perl数组内每个元素的末尾去一个字符。而chomp(@a);的作用则是把Perl数组内的每一个元素的末尾的换行符去掉。我们还应该介绍一个函数就是scalar,这个函数取得Perl数组的长度。例如:

 my@h=(1,2,3);
 scalar(@h);

将可以得到3。但是我们经常不这么用,因为在将Perl数组向标量转换时就会返回Perl数组的长度,例如下面的操作就可以。

 my@i=(1,2,3,4);
 print@i."\n";

将会打印出4。好了,今天就到这里吧,***是一个概括了今天大部分内容的程序。我写的。中间会输出很多错误信息。呵呵。

感谢各位的阅读,以上就是“Perl数组的使用技巧”的内容了,经过本文的学习后,相信大家对Perl数组的使用技巧这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI