乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
perl 0.01 数据类型
2016-05-07 10:22:20
90
0
0
admin
#变量 所有数字都是双精度浮点数 变量被作为字符串还是数字要看操作符 ##数字 用==,!=,<,>,<=,>= 比较 my \$n = 2e-2; ===> \$n 是0.02(2 x 10 的-2 次方) 加减乘除,去余数 ===> + - * / % (小心,取余数的时候会先求整数,再求余数 10 % 3 == 10.121 % 3) my \$n = 2**3; ===> \$n 是8 (2 的3次方) ##字符串 用eq,ne,lt,gt,le,ge 比较 单引号内除了反斜线和单引号外,所有字符都只表示它自己。 连接字符串的操作符 "." 赋值多行到一个字符串的技巧 ```perl my $a=<< "EOF" XXX XXX XXX EOF ; ``` ##布尔值 Perl 没有布尔值。 如果是数字,0为假,其他为真。 如果是字符串,空字符串为假,其他为真(字符串0除外)。 不是字符或数字的会被转化为字符或数字再判断。 undef为假,引用都为真。 ##Undef 当作字符串使用时是空值,当作数字使用时是0,开启警告的话会报错。 ###用defined 判断变量是否是undef ```perl if ( defined ($var) ) # 空字符串“” 是defined 的变量 { print "defined\n";} ``` *** #数组 赋值: my @array;$array[0]=1;。。。。。。 my @array = ( 1,2,3 ); my @array = ( 1..3 ); my @array = qw( lala wawa haha) # 括号也可以用!/#{}[]<>代替 **以上方案还可以用于多变量的赋值** (\$a,\$b,\$c) = qw ( lala wawa haha) 赋值命令: pop 取走最后一个元素作为返回值 > my \$a = pop(@array); push 往数组最后添加元素 > push @array ,100; #添加100这个元素 > push @array, @tmp; #添加@tmp 数组 shift 取走第一个元素 unshift 往数组开始的地方添加元素 splice (目标数组,开始的元素的下标,替换的元素数量(可选),替换的元素(可选)) > my @removed = splice @array, 6, 1, qw(haha wawa) ; #可以增删改 数组的中间部分 读取: ```perl my $last_key= $#array; #获取最后一个元素的小标 my $number = @array; #获取数组元素的个数 (上下文) my $last_1st = $array[-1]; #获取从后往前数第一个元素 ``` 排序: ```perl my @sorted = sort(@array); #按字符排序,排序结果很奇怪 @array = reverse @array; #倒序 ``` *** #Hash ```perl #赋值: my $hash{'aaa'} = "xxx"; my %hash = ( '111','aaa','222','bbb','333','ccc' ); my %hash = ( '111' => 'aaa', '222' => 'bbb', '333' => 'ccc' ); #遍历键 foreach my $i ( keys %hash) #遍历值 foreach my $i ( values %hash) #遍历键值对 while ( (my $k,my $v) = each %hash ) #判断hash 是否存在,存在就删掉 if ( exists $hash{'xxx'} ) { delete $hash{'xxx'};} ``` #二进制数据 位运算符 ```perl 位与:& 位或:| 位非:~ 位异或:^ 左移:$n << 1 右移:$n >> 1 ```
上一篇:
perl 0.0 介绍
下一篇:
perl 0.02 控制流
文档导航