Perl入门(三)Perl的数组
Perl数组的声明方式
Perl使用"@"符号声明一个数组:@array;
使用"()"或"qw()"声明数组中元素;
一个完整的声明方式为:
@array = (12,"123","abc",$var);......方法一
或者
@array = qw(12 123 abc); ............方法二
或者
@array = (1..10).....................方法三
Perl数组的存取
数组通过下标进行存取,数组的下标从0开始,单个元素存取推荐使用$,多个元素存取推荐使用@。
以@array=(1,2,3,4,5,6,7);为例
取数组元素:
$array[0]表示数组的第一个元素 1,以此类推。
@array[1..3]表示数组的第二个元素到第四个元素:2,3,4
@array[1,2,4]表示数组的第二,第三和第五个元素:2,3,5;顺序也可以交换:@array[4,1,2]: 5 2 3;
修改数组
通过上述取数组元素的方法,取得元素,然后进行重新赋值。
$array[0]= -1;# $array=(-1,2,3,4,5,6,7)
@array[1..2]=(8,9); # $array=(1,8,9,4,5,6,7)
Perl数组的初始化方法
()初始化
如【方法一】所示,将元素放入括号内以","为分隔符
qw()初始化
如【方法二】所示,将元素放入qw()的括号内,元素之间以【空格】分隔,字符串类型不需要使用引号。
缺点:它将括号内内容视为一整个字符串,然后根据空格进行分割,但是如果你希望某一个元素中也包含个空格,就没有办法实现.
..初始化
如【方法三】所示,".."表示一个范围,(1..5)等价于(1,2,3,4,5),(a..z)表示字母a-z的集合
Perl数组的基本属性
$#array 表示数组的最后一个元素的下标,数组长度-1
@array 表示数组长度,直接进行print会输出数组内容
Perl数组的遍历
方法一:使用循环数组下标进行遍历(较简单,自己动手尝试)
方法二:使用foreach循环进行遍历
#!user/bin/env perl -w
@array = qw(1 2 3 4 5 6); $var = 100; foreach $var (@array)
{
print "$var\n";
} print "var is : $var\n";输出结果
1
2
3
4
5
6
var is : 100上述输出结果中:
- foreach如何进行遍历
- 应该有注意到$var,var在循环中,担任一个局部变量的角色,循环完成后var的值还是原来的100,可以理解为:这个过程中有两个$var,一个是循环外面的,另外一个是foreach的局部变量.
数组相关的函数
sort:按照字符在ASCII码表中的顺序逐位向下进行排序
reverse:将数组进行倒序
Perl入门(三)Perl的数组的更多相关文章
- Perl 数据类型:标量、数组、哈希
Perl 数据类型Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型. Perl 有三个基本的数据类型:标量.数组.哈希.以下是这三种数据类型的说明: 序 ...
- Perl入门(四)Perl的正則表達式
正則表達式是Perl语言的特色.主要的语法不是非常难,可是编写一个符合需求.高效的正則表達式.还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正則表達式内容/; 作用:查找匹配内容中是 ...
- Perl入门(四)Perl的正则表达式
正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否 ...
- Perl入门(七) Perl脚本的调试
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/sunshoupo211/article/details/32711165 编程中错误不可避免.调试可 ...
- Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
- Thinkphp入门三—框架模板、变量(47)
原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display() 调用当前操作名称的模板 display(‘名字’) 调用指定名字的模板文件 控制器调用模板四种方式 ...
- 【C语言探索之旅】 第二部分第三课:数组
内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语 ...
- Swift入门(五)——数组(Array)
集合 集合的定义 Swift中提供了两种数据结构用于存放数据的集合,各自是数组(Array)和字典(Dictionary). 他们的主要差别在于数组中的元素由下标确定.而字典中的数据的值由数据的键(K ...
- Excel VBA入门(二)数组和字典
数组和字典也是VBA的常用到数据类型之一.但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典. 事实上,字典不是VBA内置的类型,它是Wind ...
随机推荐
- Postgre数据库自定义函数
自定函数 1.查询函数: select prosrc from pg_proc where proname='test' 参数说明 : test 为函数名. 2.删除函数: drop function ...
- 读-写锁 ReadWriteLock & 线程八锁
读-写锁 ReadWriteLock: ①ReadWriteLock 维护了一对相关的锁,一个用于只读操作, 另一个用于写入操作. 只要没有 writer,读取锁可以由 多个 reader 线程同时保 ...
- 对于使用progisp软件进行ISP编程时进入不了编程模式的解决方法
标题: 对于使用progisp软件进行ISP编程时无法进入编程模式的解决方法 作者: 梦幻之心星 347369787@QQ.com 标签: [progisp, 软件] 目录: 软件 日期: 2019- ...
- 关于react中antd design pro下面src/models
1.src/models 在 Ant Design Pro 中,一个完整的前端 UI 交互到服务端处理流程是这样的: 1.UI 组件交互操作: 2.调用 model 的 effect: 3.调用统一管 ...
- Chisel3 - 复合数据类型
https://mp.weixin.qq.com/s/rXYqiZKuBpAYL8R94zxgRA Chisel允许用户根据需要,把基本数据类型组合成为复合数据类型使用.如C语言里面的结构体,这样 ...
- Ondemand和Interactive gonernor工作逻辑简述
ondemand 简述: 1.采样时间:sampling_rate,单位us 2.cpu usage是仅统计最新1us的一个smaple周期,以%体现cpu busy程度. 3.一般情况下,next频 ...
- Java实现 LeetCode 678 有效的括号字符串(暴力+思路转换)
678. 有效的括号字符串 给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串.有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 ). 任何右括号 ...
- C# Winform学习(六)
目标: 1.树型控件TreeView 2.列表视图控件ListView 一.树型控件 1.命名:tv开始 2.作用:用来显示有层次结构的数据 3.特点 1)允许有多个根节点 2)每个节点可以有多个子节 ...
- Android Button的四种点击事件
bta1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.m ...
- Java实现硬币收集问题
1 问题描述 在n*m格木板中放有一些硬币,每格的硬币数目最多为一个,在木板左上方的一个机器人需要收集尽可能多的硬币并把它们带到右下方的单元格.每一步,机器人可以从当前的位置向右移动一格或向下移动一格 ...