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相关推荐

  1. [Perl语法篇] 变量作用域:our、local、my、state

    I.知识点概要: 1.变量范围分为两类:全局.局部 2.全局变量标准(our)关键字.局部变量标准(my)关键字 3.(local)关键字将全局变量临时借用为局部.(state)关键字将局部变量变得持 ...

  2. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  3. ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)

    iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...

  4. FPGA笔记之verilog语言(基础语法篇)

    文章目录 FPGA笔记之verilog语言(基础语法篇) 1. verilog 的基础结构 1.1 verilog设计的基本单元--module 1.2 module的使用 1.3 I/O的说明 1. ...

  5. Postgresql学习笔记-高级语法篇

    Postgresql学习笔记-高级语法篇 Postgresql 约束 Postgresql约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表的时候就规定(通 ...

  6. 【教程】PHP快速学习教程(语法篇)

    [教程]PHP快速学习教程(语法篇) 备注 一.环境搭建 1.phpstudy一键搭建 2.apache+php+mysql手动配置 <1>apache加载php <2>php ...

  7. 一起学Go吧! Go语言基础语法篇一

    文章目录 前言 Go的程序结构 Go的基础语法 Go语言常见数据类型 Go语言定义变量 Go的条件语句 Go循环语句 Go 语言函数 Go 语言数组 语法篇一总结 前言 Go的基础语法学好后,对后面项 ...

  8. 第十篇 数据类型总结

    第十篇 数据类型总结 ## 1 按可变类型or不可变类型 可变数据类型 不可变数据类型 列表 数字 字典 字符串 集合 元组 ## 2 按有序or无序 有序 无序 字符串 字典 列表 集合 元组 / ...

  9. vue引用自定义.js文件 (常量抛出 + 地址三级联动为例)- 语法篇

    文章目录 vue如何引用`自定义封装的` `.js`文件? `如何操作,详细如下.`(注意代码注释部分:注意1/2/3/4/5) 一.效果图预览: 二.以自定义`area.min.js`文件为例: 三 ...

最新文章

  1. OPENFILENAME文件类型过滤 lpstrFilter
  2. 动态控制jQuery easyui datagrid工具栏显示隐藏
  3. 吴恩达入驻知乎首答:如何系统学习机器学习?
  4. vc6.0垃圾文件清理工具_C盘空间爆满,详细清理方法介绍
  5. PreparedStatement.SetDate
  6. 线段树 HDU 3397
  7. python3爬虫 - cookie登录实战
  8. 【大数据部落】R语言多元Copula GARCH 模型时间序列预测
  9. java 文件传输_Java开发之如何通过HTTP方式传输文件
  10. 从零学Java(1)之面向对象
  11. 手机号格式校验(大陆,香港)
  12. 网页设计中的图片技巧
  13. 云智慧发布电商618网站性能监测报告
  14. 新电脑配置显卡驱动及CUDA、CUDNN环境
  15. 黄山的正宗徽菜和新鲜景区
  16. Qt | QTableView的使用方法
  17. 关于5G时延的深度解读,非常详尽
  18. 一个非常简单的方法使用JavaScript打包一个网页成为安卓app(打包远景论坛)
  19. 联想搜索实现方案(java基于字典树算法的实现方式)
  20. 网络安全学习第10篇 - ping程序的实现,抓包分析ping数据包以及ping工具对于网络安全方面的威胁

热门文章

  1. NEC Topaz电话交换机简单管理
  2. 2021年中国木炭发展现状及进出口状况分析:东南亚成为我国木炭进口主要来源地 [图]
  3. H3C交换机配置详解
  4. wps表格错开半行_WPS,Excel如何制作如图中一样错开的表格?
  5. 面试真题总结:Faster Rcnn,目标检测,卷积,梯度消失,Adam算法
  6. 米家、华为HiLink有安防设备,智汀也有安防设备啦
  7. 药房管理程序c语言,源程序(医院药房药品管理系统C++)
  8. 祝福祖国国泰民安,繁荣富强
  9. X射线电子能谱原理及软件图谱处理
  10. 以后都不会用altium designer!!!