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 ...
随机推荐
- Python 每日一练(7)
引言 今天的练习比较轻松,原本是有两题的,但是第一题那个大致看了一下,其实和之前的6个练习差不多,就是把xls中的文件数据读取出来后,进行一下处理,对于那题而言就是一个求和操作,所以就没练了,所以今天 ...
- ## H5 canvas画图白板踩坑
最近接手了一个小型的H5,最主要的功能大概就是拍照上传和canvas画板了. 主要是记录一下自己菜到像傻子一样的技术. 1.canvas画板隔空打牛!画布越往上部分错位距离越小,越往下距离越大. 2. ...
- windows下grunt的快速入门
1.认识grunt grunt是什么:他是一套前端自动化工具,是一个基于nodejs的命令行工具.(Grunt和Grunt插件是通过npm 安装并管理的,所以首先要安装nodejs). grunt ...
- [01]HTML基础之简单介绍
1.前言 现如今科技进步,足不出户尽晓天下事,一转身便仿若隔世茫然.科技绽放时代,网络技术对人们的触变无疑是深远而重大的,隐于缤纷绚丽的网页背后,是前端的蜕变更新. 如今,随意点开页面,绚丽华彩的特效 ...
- SchedTune
本文仅是对kernel中的document进行翻译,便于理解.后续再添加代码分析. 1. 为何引入schedtune? schedutil是一个基于利用率驱动的cpu频率governor.它允许调度器 ...
- Java实现蓝桥杯历届试题兰顿蚂蚁
历届试题 兰顿蚂蚁 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其 ...
- Java实现 LeetCode 423 从英文中重建数字
423. 从英文中重建数字 给定一个非空字符串,其中包含字母顺序打乱的英文单词表示的数字0-9.按升序输出原始的数字. 注意: 输入只包含小写英文字母. 输入保证合法并可以转换为原始的数字,这意味着像 ...
- Java实现 蓝桥杯 猜算式
猜算式 看下面的算式: □□ x □□ = □□ x □□□ 它表示:两个两位数相乘等于一个两位数乘以一个三位数. 如果没有限定条件,这样的例子很多. 但目前的限定是:这9个方块,表示1~9的9个数字 ...
- 第六届蓝桥杯JavaC组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.机器人数目 少年宫新近邮购了小机器人配件,共有3类,其中, A类含有:8个轮子,1个传感器 B类含有: 6个轮子,3个传感器 C类含有 ...
- Android如何使用SQLlite数据库
先写一个类,继承自SQLiteOpenHelper public class MyDatabaseHelper extends SQLiteOpenHelper { //声明一个Context pri ...