在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一: 如何运行 在linux终端,直接输入 perl filenaem.pl Perl脚本在解释执行时和shell脚本一样,自顶向下,跳过sub定义部分依次执行。 二:标量 1: 标量 可以是数字或者字符串; 数字分为浮点数,整数(允许分隔符)和非十进制; 2: 字符串(单引号字符串与双引号字符串) 单引号中的字符串: 除单引号和反斜杠字符外,单引号内所有字符都代表它们本身;例如 ‘\n’代表\和n两个字符; ‘\’’表示单引号;‘\\’表示反斜线; 双引号中的字符串: “\n”代表换行符; 双引号字符串支持变量的内插; $,@,",\在双引号字符串中具有特殊意义,如果要在双引号字符串中表示这些字符,需要加上/; 3: 其他字符与字符串 ‘\'\\’表示‘\; \u:将字符大写;\L:将字符小写 重复操作符:“bug”x3 #输出bugbugbug; 拼接操作符:“who” . "are" . "you" #输出who are you; 4: 标量的定义:以$开头;慎重使用Perl默认的一些变量:$ARGV,$_ $1,$2,...,$n,$$,$@,$?,$! 6: 双目操作符:
输出结果: 7: 标量内插 在双引号字符串中可以被内插,输出$符需要前面加转义\,或者使用单引号字符串 eg:print “The price is \$5.\n”; print 'The price is $5.\n'; 如果要在变量内插后紧接着输出字母,数字或者下划线,可以使用花括号 eg:"Today is \${year}_${month}_${day}\n"; #如果存在$year_与$year,加上{}以区分 8: 操作符 **:幂操作符; gt,ge,It,ne,cmp:比较操作符 ++,--:++可用于字符串,但结尾字符为’z‘,’Z‘,'9'时进位;--不能用于字符串,如果用于字符串,需要将字符转化为数字。 9: undef(变量) 变量在未赋值之前,默认值未undef; 若被当作数字使用,会被视为0,若当作字符串使用,会被视为空串; undef既不是数字也不是字符串; 有些操作符在参数越界或者不合理时,会返回undef; 10: defined(函数) 用来判断变量值是否未undef 三: 列表与数组 列表是集合,数组是存储列表的变量;列表指的是数据,数组指的是变量;列表的值不一定要放在数组里,但数组都一定包含一个列表。 1: 列表的定义与初始化 eg1:(5,8,9) #包含5,8,9三个数的一个列表; eg2:(1..100) #包含1到100的一个列表 用qw符号定义单词列表:会将列表中的每一个元素当作单引号内的字符串 eg: qw(my name is peter); 2: 数组定义 @arg = (0,1,2,3); 可以用列表对数组赋值:(arg[0],arg[1])= qw/array list/; 四: 数组与列表操作符 1: pop() 取出数组中的最后元素,并返回该元素的值;作用于一个空数组时,什么也不做,返回undef。 2: push() 添加一个元素或者一串元素到数组的末尾 3: shift与unshift shift取出数组的开头元素,并返回; unshift添加一个元素或者列表到数组的开头 4: foreach:遍历列表中的值,依次迭代;若循环中修改了控制变量的值,也就修改了这个列表元素的值 这里的val是临时变量 5: reverse:读取列表的值,并按相反的次序返回该列表
6: sort:排序
输出: 7: 上下文与scalar(强制类型转换) scalar函数:可以使用scalar函数强制制定标量上下文;例如:
输出: scalar输出个数 五: 子函数(subroutines) 1: 定义 sub开头;可在程序任意位置定义;无需对子程序进行事先申明;当出现重名子程序时,后面会覆盖前面 2: 子程序调用(&+子程序名) 如&display(); 3: 子程序参数(@) @_是子程序的私有变量,在当前的子程序调用中,@总是包含了它的参数列表;例如 使用my声明私有变量,是局部变量。 4: 子程序返回值 最后一次的结果会被自动当成子程序的返回值(不是最后一个语句); 可以使用return操作符 5: 例子
输出: 6:即使传入的是数组,也是使用my($a,$b)=@_,后可以使用数组@a。
输出:
|
请发表评论