[Perl语法篇] 数据类型:标量$Scalar
I.知识点概要:
1.标量(数字型、字符型)
1.标量$Scalar
标量是用于存放一个值的变量,这个值可以是数字,也可以是字符串(其实数字就是字符串)。
Perl通过变量前的“魔符”$来识别标量。
1.1.数字类型标量
# 浮点数直接量$Scalar =1.25;$Scalar =255.000;$Scalar =7.25e45; # 7.25*10的45次方$Scalar =-6.5e24; # -6.5*10的24次方$Scalar =-12e-24; # -12*10的-24次方$Scalar =-1.2E-23; # 另一种表示法:字母E也可以是大写# 整数直接量$Scalar =0;$Scalar =2001;$Scalar = -40;$Scalar =61298040283768;$Scalar =61_298_040_283_768; # 整数直接量可以插入下划线# 非十进制整数直接量$Scalar =0377; #八进制以0开头$Scalar =0xff; #十六进制以0x开头$Scalar =0b1111; #二进制以0b开头$Scalar =0x1377_0B77; #整数直接量可以插入下划线$Scalar =0b1101_0101; #整数直接量可以插入下划线
注1:尽管数字有两种类型:整数、浮点数,但在Perl中总是按照”双精度浮点数”(IEEE-745,15位精度)的要求来保存数字并进行运算。
1.2.字符串类型标量
# 单引号内字符串直接量$Scalar ='fred'; #含4个字符:f、r、e、d$Scalar =''; #空字符串(没有字符)$Scalar ='hello\n'; #含7个字符:h、e、l、l、o、\、n$Scalar ='\''; #含1个字符:'(转义)$Scalar ='\\'; #含1个字符:\(转义)# 双引号内字符串直接量$Scalar ="fred"; #与'fred'写法一致$Scalar ="hello\n"; #hello、换行(转义)$Scalar ="ABC\lABC" ; #ABCaBC(转义)
注1:单引号字符串除单引号(’)和反斜线(\)外,其他字符都代表自己。要表示单引号或反斜线本身则必须在其前面加上反斜线转义,即(\’)(\\)。
注2:双引号字符串在单引号字符串基础上扩展了更多的反斜线转义,功能更强大。
注3:字符串可以是各种字符(字母、数字、标点)任意组合而成,最短的字符串不包括任何字符,即空字符串(与C中不用的是Perl字符串不需要空字符表示结尾);最长的字符串没有限制,甚至可以填满所有内存。
1.3.数字与字符串自动转换
Perl会根据需要,自动在数字与字符串之间进行类型转换,判断依据取决于操作符。对数字进行运算的操作符如果遇到字符串类型操作数,Perl会自动将字符串转换成等效十进制浮点数进行运算(”12fred34”->12,”fred”->0);同样需要字符串的操作符意外得到数字,该数字就会被转换成形式相同的字符串(12->”12”)。
注1:非十进制表示的数字直接量的“前置零”,不能用于字符串到数字的转换,如’0377’->377,而不是255。
1.4.标量初始化-undef值、defined函数
如果还没赋初值就用到某个标量,则此时标量初始值为特殊的undef值,undef值既可被当做数字0,也可被当做空字符串,但undef既不是数字也不是字符串。
如果要判断某个标量是否被赋初值,则可使用defined函数,如果是undef,该函数返回假,否则返回真。
# undef值、defined函数$Scalar =undef; #undefine#$Scalar =''; #definedif ( defined($Scalar) ){print "defined"; }else{print "undefined"; }
1.5.剪除字符串末尾换行符-chomp函数
chomp函数用于将字符串型标量结尾的换行符(如果存在的话,不存在则不做任何处理)去掉,它的返回值是实际移除的字符数,这个返回值无用处。
# chomp函数$Scalar ="hello\n"; chomp($Scalar);print "$Scalar"; #输出hello
-------------------------------------------------------------------------------------------------------------------------------
I.参考资料:
[1]. 盛春译.《Perl语言入门》[第六版][M].东南大学出版社,2012.
第二章,标量数据
[2]. 周良忠译.《C程序员精通Perl》[M].人民邮电出版社,2003.
第2章,Perl基础知识
II.修订记录:
2013.01.04. 第一稿
-------------------------------------------------------------------------------------------------------------------------------
[Perl语法篇] 数据类型:标量$Scalar相关推荐
- [Perl语法篇] 变量作用域:our、local、my、state
I.知识点概要: 1.变量范围分为两类:全局.局部 2.全局变量标准(our)关键字.局部变量标准(my)关键字 3.(local)关键字将全局变量临时借用为局部.(state)关键字将局部变量变得持 ...
- Xamarin XAML语言教程基础语法篇大学霸
Xamarin XAML语言教程基础语法篇大学霸 前 言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...
- ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
- FPGA笔记之verilog语言(基础语法篇)
文章目录 FPGA笔记之verilog语言(基础语法篇) 1. verilog 的基础结构 1.1 verilog设计的基本单元--module 1.2 module的使用 1.3 I/O的说明 1. ...
- Postgresql学习笔记-高级语法篇
Postgresql学习笔记-高级语法篇 Postgresql 约束 Postgresql约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表的时候就规定(通 ...
- 【教程】PHP快速学习教程(语法篇)
[教程]PHP快速学习教程(语法篇) 备注 一.环境搭建 1.phpstudy一键搭建 2.apache+php+mysql手动配置 <1>apache加载php <2>php ...
- 一起学Go吧! Go语言基础语法篇一
文章目录 前言 Go的程序结构 Go的基础语法 Go语言常见数据类型 Go语言定义变量 Go的条件语句 Go循环语句 Go 语言函数 Go 语言数组 语法篇一总结 前言 Go的基础语法学好后,对后面项 ...
- 第十篇 数据类型总结
第十篇 数据类型总结 ## 1 按可变类型or不可变类型 可变数据类型 不可变数据类型 列表 数字 字典 字符串 集合 元组 ## 2 按有序or无序 有序 无序 字符串 字典 列表 集合 元组 / ...
- vue引用自定义.js文件 (常量抛出 + 地址三级联动为例)- 语法篇
文章目录 vue如何引用`自定义封装的` `.js`文件? `如何操作,详细如下.`(注意代码注释部分:注意1/2/3/4/5) 一.效果图预览: 二.以自定义`area.min.js`文件为例: 三 ...
最新文章
- OPENFILENAME文件类型过滤 lpstrFilter
- 动态控制jQuery easyui datagrid工具栏显示隐藏
- 吴恩达入驻知乎首答:如何系统学习机器学习?
- vc6.0垃圾文件清理工具_C盘空间爆满,详细清理方法介绍
- PreparedStatement.SetDate
- 线段树 HDU 3397
- python3爬虫 - cookie登录实战
- 【大数据部落】R语言多元Copula GARCH 模型时间序列预测
- java 文件传输_Java开发之如何通过HTTP方式传输文件
- 从零学Java(1)之面向对象
- 手机号格式校验(大陆,香港)
- 网页设计中的图片技巧
- 云智慧发布电商618网站性能监测报告
- 新电脑配置显卡驱动及CUDA、CUDNN环境
- 黄山的正宗徽菜和新鲜景区
- Qt | QTableView的使用方法
- 关于5G时延的深度解读,非常详尽
- 一个非常简单的方法使用JavaScript打包一个网页成为安卓app(打包远景论坛)
- 联想搜索实现方案(java基于字典树算法的实现方式)
- 网络安全学习第10篇 - ping程序的实现,抓包分析ping数据包以及ping工具对于网络安全方面的威胁
热门文章
- NEC Topaz电话交换机简单管理
- 2021年中国木炭发展现状及进出口状况分析:东南亚成为我国木炭进口主要来源地 [图]
- H3C交换机配置详解
- wps表格错开半行_WPS,Excel如何制作如图中一样错开的表格?
- 面试真题总结:Faster Rcnn,目标检测,卷积,梯度消失,Adam算法
- 米家、华为HiLink有安防设备,智汀也有安防设备啦
- 药房管理程序c语言,源程序(医院药房药品管理系统C++)
- 祝福祖国国泰民安,繁荣富强
- X射线电子能谱原理及软件图谱处理
- 以后都不会用altium designer!!!