perl-基础整理
不可认识就不可认识吧!斯坦刘夫斯基总能说出一些具有哲理的话:当我沉默着的时候,我觉得充实,我将开口,同时感到空虚。
虽然这些东西之前学了,而且有写笔记,但是还是加深点理解吧。
变量
私有变量声明使用:my
全局变量声明使用:our
字符串
字符串引用
""
等同qq//
''
等同q//
1 | eg: |
qw
可以去除所有引号,逗号。使用空白分隔
1 | ("a",2,3,"b") |
字符串长度
length()
1 | eg: |
大小写转换
lc()
:lower case
uc()
:upper case
1 | eg: |
位置索引
指定起始位置,第一次找到的位置
index()
:从左往右
rindex()
:从右到左
1 | eg: |
字符串提取
substr()
1 | eg: |
字符串替换
substr()
1 | $a = "abstract some word"; |
字符串加密
crypt()
1 | eg: |
字符串反转
reverse()
1 | eg: |
字符串连接
使用.
操作符,在perl6中改为~
1 | 'a'.'b' |
重复操作符
x
1 | 'a'x4 #结果为'aaaa' |
字符串格式化
sprintf()
去除换行符
chomp()
常用于去除交互输入的换行符\n
1 | chomp my @array = <STDIN> |
运算符
计算
+
,-
,*
,/
,%
(取余),**
乘方
如果将数字转换为二进制,将支持跟多的二进制操作bit wise operator
&
(and),|
(or),~
(not),>>
(shift right),<<
比较
数字
==
,!=
,<=>
,<
,>
,<=
,>=
其中<=>
操作符作用挺大,它能返回三种情况,用于排序中
$a > $b #返回1
$a = $b #返回0
$a < $b #返回-1
1 | @array = qw/1 3 11 21 14 5 7/; |
字符串
eq
,ne
,cmp
,lt
,gt
,le
,ge
其中cmp
的作用同上面的<=>
,不过这个用来比较字符,用于排序中。
逻辑操作符
&&
(and),||
(or),!
(not) 常用于控制语法中(if ,while,given)等