1、变量

scalar:$varname 变量

数组:  @varnanme

Hsah:  %varname

文件:  通常大写字母

2、变量名的命名规则

简单变量以$开头后面跟字母数字或者下划线;

区分大小写;

变量名长度不限;

没有关键字,但是不能和内置变量重名;

数值:

12
-12
12e3   #(科学计数法,e不区分大小写)
1_222_2333  #-只是分隔符,便于阅读,perl语句执行时会自动忽略
012    #0开头的默认是八进制数
0x2f   #十六进制数,f不区分大小写
#/usr/bin/perl
$a=1283_11_31_51;
print "$a \n";

结果:

[root@localhost tmp]# perl txt
1283113151

浮点 

11.5
-.3
.3
0.3
2.5E6  #(e不区分大小写,后面数字为1-3位,整数位15位有效数字,超出则截断)
指数型浮点:指数为-309~308 ,太小则数值为0,太大则为1.#INF

字符串

 "" 或者''

最少为为空"",最多可以占满空余内存,结尾不包含c语言的null('\0')
变量引用

变量引用使用变量名的最长匹配为原则:

$var="it";
$varing="ms";
print "\$var is $var\n"   #此处最长匹配输出的为$varing的值
print "\$var is ${var}\n" #这是正确引用$var的方法
[root@localhost tmp]# perl txt
$var is it
$var is ms

转义字符

 perl的转义字符和其他语言的转义字符类似:

\a \b \l \xnn
\cn \e \r ''
\L \f \t \'
\n \Q \nnn \\

字符比较

数值比较:

>,<,==,<=,>=,!=,<=>

<=>:$a <=> $b;

$a < $b,返回-1

$a = $b,返回0

$a > $b,返回1

perl会自动转换操作数到int,不能转换的转换为0

字符串比较:

lt gt ge eq le ne cmp

安照字母表的顺序:num<大写<小写 (a-z)

从左向右比较

当一个是另一个前缀时,较长的一个值大:god < godness

字符串可以从右向左进位,字母和数字分别进行

自动转换操作数为字符串

cmp用法同<=>

空字符串,0,undef的为假

字符串的连接

. 连接

print $x='a'.'b' ; #$x='ab'
#/usr/bin/perl
$a="ace";
$b="me";
print "$a$b\n";         #把$a$b分别替换
print $a.$b;            #把$a$b进行字符串拼接,作为一个整体
[root@localhost tmp]# perl txt
aceme
aceme

x 重复 x次数小于1,则为空,x的前后需要空格

#/usr/bin/perl
$a='ox' x 5;
print "$a\n";
[root@localhost tmp]# perl txt
oxoxoxoxox

逻辑运算

&& and || or  ! not xor

先计算逻辑运算左在计算右边

位操作

& | ~ ^ << >>

操作数为二进制整数,小数则截取为整数处理

赋值运算

= += -= *= /= %= **= &= |= ^= .=

($a=$b)+=3
#等价于
$a=$b;
$a=$a+3;

 ++ --
可以用于字符串的自增,z Z 9时进位:

$a='az',$a++;
→$a='ba'

不可以用于字符串的自减运算,$a--,按数值运算,转换为0,再自减

$a='az',$a--;
→$a=-1

字符串含有非字母数值,数值位于字母中间,++运算转为0在自增

$a='a2z',$a++;
→$a=1

$b=++$a先执行自增在执行赋值,$b=$a++先执行赋值在执行自增

$a='a2z';
$b=$a++;
→$b='a2z'
$a='a2z';
$b=++$a;
→$b=1

只能作用于单一变量:

($a+$b)++;#这种是错误的

条件运算

条件?真:假

优先执行条件表达式,真执行?后的内容,假则执行:后的内容

$result=$var==0?14:7

执行条件语句:$var==0,成立则执行赋值 $result=14,不成了则$result=7

条件变量在等号左边

$var==42?$var1:$var2 =14

各种运算的优先级

++/--  < <= > >= lt le gt ge ?: -~! == != <=> eq ne cmp = += *= ** |^ 

转载于:https://blog.51cto.com/12550795/1954286

perl 的基本数据类型相关推荐

  1. [Perl语法篇] 数据类型:标量$Scalar

    I.知识点概要: 1.标量(数字型.字符型) 1.标量$Scalar 标量是用于存放一个值的变量,这个值可以是数字,也可以是字符串(其实数字就是字符串). Perl通过变量前的"魔符&quo ...

  2. BeginnersBook Perl 教程

    来源:ApacheCN BeginnersBook 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request. 请您勇敢地去翻译和改 ...

  3. Perl语言学习总结

    Perl ------practical extraction and report language <一>.实用性摘录与报表语言: <二>.常用到的与perl有关的网站:h ...

  4. 一文了解Perl语言

    我在公众号发过很多编程语言的学习笔记,但是一直没有发Perl语言的编程教程.我大学的时候,学过一段时间的Perl语言,所以和Perl也有点缘分.这次去北京参加培训时发现他们教的Perl,所以接着机会发 ...

  5. PgSQL个人学习笔记(一)——PgSQL介绍

    一.什么是PgSQL? PgSQL(全称PostgreSQL)是一个功能强大的开源对象-关系型数据库系统,结合了许多安全存储和扩展最复杂数据工作负载的功能.它支持大部分SQL标准并且提供了许多其他现代 ...

  6. perl语言数据类型

    1.标量 标量是 Perl 语言中最简单的一种数据类型.这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分.在使用时在变量的名字前面加上一个 $,表示是标量.例如: $myfirst=123 ...

  7. perl删除文件_Perl小知识语法重点和数据类型

    Hello,大家好,我是小舍,后续有我为大家介绍 Perl 编程相关知识,以及Perl在数字IC验证中的应用.Perl的全称是Practical Extractionand Report Langua ...

  8. 数据处理程序语言中的基本数据类型

    程序语言根据其设计目的不同,其侧重的基本数据类型也不同.JAVA.C#等语言被设计用来进行通用的应用程序开发,其基本数据类型是字符串.数字.布尔等原子数据类型,以及数组和通用对象.而SQL.Power ...

  9. perl编程(基本语法 数据 类型)

    基本语法 1.每条语句都以分号结束 2.文件以 .pl..PL 作为后缀,perl aaa.pl 执行 3.多行注释 =pod 这是一个多行注释 这是一个多行注释 这是一个多行注释 =cut 4.单引 ...

最新文章

  1. 计算机网络课程优秀备考PPT之第五章网络层(五)
  2. facelets_不要在facelets中重复表情
  3. 【转】一、用于VS2019的QT配置
  4. python输出用逗号隔开的数字_Python:从字符串中提取带有点和逗号的数字
  5. oracle 实现HA,使用KeepAlived实现HAProxy高可用
  6. phpstudy免费安全检测服务_@你,您有一份免费安全服务已到账
  7. bzoj 1663: [Usaco2006 Open]赶集(最长路)
  8. 19/03/17Python笔记
  9. 快速在多个word文件里面检索到关键字
  10. qimage加载jpg失败_QImage基本api
  11. 德语翻译器在线翻译中文-德语翻译器支持各大语言翻译
  12. 【经验分享】统计学算法大全及方法适用场景(必看)
  13. matlab数据读入,Matlab数据导入
  14. 有没有什么好的生日提醒软件推荐?3款软件让你的生活更有品质
  15. 输出1234无重复三位数
  16. 蓝桥杯C/C++程序设计 往届真题汇总(基础篇)
  17. python错误警告 PEP8 W605 invalid escape sequence ‘\.‘
  18. Windows 10(Win10) 怎么删除设备和驱动里的CD驱动器
  19. 百度网盘下载提速方法(更新于2020年6月)
  20. 在Mac中删除残留的启动台图标

热门文章

  1. 【Qt】QtCreator中关于Style Plugin Example没有效果的修改方法
  2. java备忘录模式应用场景_图解Java设计模式之备忘录模式
  3. mysql intersects_mysql gis 空间数据库 根据 经纬度查找附近 (INTERSECTS,within)
  4. phpstorm安装_PHPstorm设置浏览器打开代码
  5. python二分法查找算法_顺序查找算法和折半(二分法)查找算法,C语言查找算法详解...
  6. axure中图表背影_Axure 教程:动态图表——排名图
  7. Java项目:无库版商品管理系统(java+Gui+文档)
  8. vba 字体颜色_多掌握一些VBA语句,让自己书写代码更加顺畅
  9. 【Linux】Linux简单操作之vi与vim编辑器
  10. glibc降级后怎么恢复 linux_Linux(CentOS)GLIBC出错补救方式