perl 语言(数组)
perl 语言(数组)
perl 数组是一个储存多个标量的列表。
数组的赋值和读取
Perl 数组的读取是通过 $list[index] 来实现的
如:
#!/usr/bin/perl
@animals = ('cat','fish','dog','ant');
$str = @animals[2];
# dog
print $str."\n";
# dog
print $animals[2];
给数组赋值可以有以下三种方法:
#!/usr/bin/perl
@array1 = qw/12 23 34/;
@array2 = (12,23,34);
@array3[0] = 12;
@array3[1] = 23;
@array3[2] = 34;
# 12 23 34 12 23 34 12 23 34
print "@array1\t@array2\t@array3\n";
# 3 3 3
print $array1."\t".$array2."\t".$array3;
这里,数组可以通过qw/…/ , 直接赋值和索引赋值来实现,但是注意的是,如果在对数组的引用中出现了“." 这种表示字符串拼接的符号,数组的内容就会转换成数组的个数。
连续输入数组
#!usr/bin/perl
@num = (1..9);
@alphabet = (a..z);
# Output number
foreach $number (@num)
{print $number."\t";
}
print "\n";
$alphabet = join "\t", @alphabet;
print $alphabet;
数组的基本函数
1. push
将列表数值放在数组的末尾。
如果我想去餐厅吃饭, 要排号就可以用push来表达
#!usr/bin/perl
# restaurant number
# there already have been 24 customers.
@queue = (1..24);
# push my information into program
push @queue, "Monica";
# get my number
$number = @queque
print "$number\n";
2. pop
删除数组最后一个值
pop @material
如果需要从尾部去掉一个成分,则可以写成:
#!/usr/bin/perl
@names = ("Monica","Fermina","Ariza","Jane");
foreach $name (@names)
{if $name not eq "Fermina"{pop @names;}
}
3. shift
弹出数组第一个值,并返回它,数组的索引值也依次减一,即移除数组第一个值
#!/usr/bin/perl
# please input your codes
@a = ("Monica","Fenima","Ariza","Trump","Carlo");
shift @a;
print @a;
4. unshift
在开头添加一个元素
#!/usr/bin/perl
@a = ("Monica","Fenima","Ariza","Trump","Carlo");
unshift @a, "Ben";
$a = join "\t", @a;
print $a;
字符串转数组
1 split
$name = (“Monica Femina Elan Trump”);
#!/usr/bin/perl
$name_list = "Monica Fermina Ariza Elan Trump";
# split this string by " "
@names = split " ",$name_list;
"""
output results
Monica
Fermina
Ariza
Elan
Trump
"""
foreach $name (@names)
{print $name;print "\n";
}
数组转字符串
数组变成字符串,意义上就是将各个字符连接起来(join),所以要用到join函数
如下:
#!usr/bin/perl
#please input your codes
# initialization
@country = ("China","America","France","Australia");
# transform them into a list
$CountryName = join " - - ", @country;
# Output: Monica-Fermina-Grace-Paris
其中, join 也可以写成 join(" ",@list) 的形式。但是与我而言。第一种表示比较简单。
截断数组
想从数组中得到特定位置的元素,可以这么表达:
#!/usr/bin/perl
@countries = qw/China America France Australia/;
@country = @countries[2..4];
# 3
print @country."\n";
# France Australia
print "@country/n";
# China America France Australia
print @countries
替换数组元素 (splice)
splice @array, OFFSET, LENGTH, LIST
例子:Jerry的成绩单打错了,需要调整。
#!/usr/bin/perl
@gradelist = (95,96,70,88,73,94,87,92,89);
splice @gradelist, 2, 3, (81,79,80);
# Jerry's grade list is 95 96 81 79 80 94 87 92 89
print "Jerry's grade list is ", join "\t", @gradelist,"\n";
参考文献
https://www.runoob.com/perl/perl-arrays.html
perl 语言(数组)相关推荐
- python调用golang 数组_Go 语言数组复制
Go 语言数组复制 Golang编程语言中的数组与其他编程语言非常相似.在程序中,有时我们需要存储一组相同类型的数据,例如学生评分列表.这种类型的集合使用数组存储在程序中.数组是固定长度的序列,用于将 ...
- perl语言编程 第四版_被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用...
最近在做一个验证环境的自动化生成脚本,在写的过程中,随着对PERL认知程度的增加,越感到它的强大之处,今天我们来谈一谈这门语言. PERL(Practical Extration and Report ...
- perl语言数据类型
1.标量 标量是 Perl 语言中最简单的一种数据类型.这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分.在使用时在变量的名字前面加上一个 $,表示是标量.例如: $myfirst=123 ...
- Perl语言学习总结
Perl ------practical extraction and report language <一>.实用性摘录与报表语言: <二>.常用到的与perl有关的网站:h ...
- perl 语言(变量类型)
perl之变量类型 perl 语言将变量类型分为标量,数组和哈希,perl在定义变量时会先加入一些符号来代表他们的类型.标量用$, 数组用@,哈希用% #!/usr/bin/perl $age = 2 ...
- Perl语言面向对象入门
阅读原文请点击 摘要: 通过一些简单代码来展示一下Perl的面向对象编程,可以帮助新手快速上手. 因为项目原因,接触了一门新的语言----Perl.初识之时,觉得它既像bash shell,又像C语言 ...
- 【学习笔记】山东大学生物信息学——Perl 语言基础入门+高级
文章目录 8.3 Perl 语言基础入门 8.3.1 第一个 Perl 8.3.2 Perl 的基本规则 8.3.3 字符串常用函数 8.3.4 数组常用函数 8.4 Perl 语言基础高级 8.4. ...
- 一文了解Perl语言
我在公众号发过很多编程语言的学习笔记,但是一直没有发Perl语言的编程教程.我大学的时候,学过一段时间的Perl语言,所以和Perl也有点缘分.这次去北京参加培训时发现他们教的Perl,所以接着机会发 ...
- perl语言与算法的关系
Perl语言是一种高级动态编程语言,它是一种通用的脚本语言,常用于Web开发.系统管理.网络编程等领域.Perl语言由Larry Wall于1987年开发,它的设计理念是"简单.实用.灵活. ...
- perl语言编程 第四版_2020年,5 种 将死的编程语言!
来源 | 码农网译者 | 小峰 曾几何时,几乎每个人都在使用Perl语言编程.但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲.至少我知道有这么个叫做"piecemea ...
最新文章
- Docker折腾手记-linux下安装
- Android-BLE蓝牙原理
- logging.Formatter 日期格式
- (三)数字判断大小语句
- leetcode851. 喧闹和富有(dfs)
- Linux无法连接远程仓库,ssh无法连接到远端Ubuntu的解决方法
- 从芯开始,解读华为云的全栈全场景与全球化布局
- 安卓手机安装并使用自动化应用Tasker
- R语言中GCC编译的问题(续)
- CSS实现DIV悬浮
- dubbo3.0源码编译问题
- 模糊算法 matlab,几种模糊控制算法的MATLAB仿真.pdf
- 微信小程序可以申请软件著作权吗?亲测可以的
- 下载知乎等网站视频小技巧
- 多商户商城系统功能拆解14讲-平台端会员等级
- 5千字长文:KeePass完全入门指南(附已经配置好的版本)
- html中伪类选择符,【CSS选择符】伪类和伪元素
- Android获取设备号SSAID (Android ID) 和 IMEI
- 英语发音规则---Y字母
- 「ReactNaitve」对hooks最佳实践的探索