当前位置:首页 > 公众号精选 > 全栈芯片工程师
[导读]Perl是一种弱类型语言,所以变量不需要指定类型,Perl解释器会根据上下文自动选择匹配类型。Perl有三个基本的数据类型:标量、数组、哈希。以下是这三种数据类型的说明:序号类型和描述1标量标量是Perl语言中最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不...

Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型。


Perl 有三个基本的数据类型:标量、数组、哈希。以下是这三种数据类型的说明:


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


$myfirst=123; #数字123

$mysecond
="123"; #字符串123
2 数组数组变量以字符 @ 开头,索引从 0 开始,如:@arr=(1,2,3)


@arr=(1,2,3)
3 哈希哈希是一个无序的 key/value 对集合。可以使用键作为下标获取值。哈希变量以字符 % 开头。


%h=('a'=>1,'b'=>2);

数字字面量

一、整型

Perl 实际上把整数存在你的计算机中的浮点寄存器中,所以实际上被当作浮点数看待。


在多数计算机中,浮点寄存器可以存贮约 16 位数字,长于此的被丢弃。整数实为浮点数的特例。


整型变量及运算:


$x = 12345;if (1217 116 == 1333) {
# 执行代码语句块} 8 进制和 16 进制数:8 进制以 0 开始,16 进制以 0x 开始。例如:


$var1 = 047; # 等于十进制的39
$var2
= 0x1f; # 等于十进制的31

二、浮点数

浮点数数据如:11.4 、 -0.3 、.3 、 3. 、 54.1e 02 、 5.41e03。


浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。指数的范围通常为 -309 到 308。


实例

#!/usr/bin/perl $value = 9.01e 21 0.01 - 9.01e 21;print ("第一个值为:", $value, "\n");$value = 9.01e 21 - 9.01e 21 0.01;print ("第二个值为:", $value, "\n");


执行以上程序,输出结果为:


第一个值为:0第二个值为:0.01

三、字符串

Perl 中的字符串使用一个标量来表示,定义方式和 c 很像,但是在 Perl 里面字符串不是用 \0 来表示结束的。


Perl 双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。


但是用单引号定义可以使用多行文本,如下所示:


#!/usr/bin/perl

$var
='这是一个使用

多行字符串文本

的例子'
;print($var); 执行以上程序,输出结果为:


这是一个使用多行字符串文本的例子 Perl 语言中常用的一些转义字符如下表所示:


转义字符 含义
\\ 反斜线
\' 单引号
\" 双引号
\a 系统响铃
\b 退格
\f 换页符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\0nn 创建八进制格式的数字
\xnn 创建十六进制格式的数字
\cX 控制字符,x可以是任何字符
\u 强制下一个字符为大写
\l 强制下一个字符为小写
\U 强制将所有字符转换为大写
\L 强制将所有的字符转换为小写
\Q 将到\E为止的非单词(non-word)字符加上反斜线
\E 结束\L、\U、\Q

实例

接下来让我们来具体看看单引号和双引号及转义字符的使用:


实例

#!/usr/bin/perl




# 换行 \n 位于双引号内,有效


$str = "菜鸟教程 \nwww.runoob.com";


print "$str\n";




# 换行 \n 位于单引号内,无效


$str = '菜鸟教程  \nwww.runoob.com';


print "$str\n";




# 只有 R 会转换为大写


$str = "\urunoob";


print "$str\n";




# 所有的字母都会转换为大写


$str = "\Urunoob";


print "$str\n";




# 指定部分会转换为大写


$str = "Welcome to \Urunoob\E.com!";


print "$str\n";




# 将到\E为止的非单词(non-word)字符加上反斜线


$str = "\QWelcome to runoob's family";


print "$str\n";



以上实例执行输出结果为:




参考链接:https://www.runoob.com/perl/perl-data-types.html



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在考核大数据安全分析平台时,要确保对以下五个要素进行评估,这对实现大数据分析的效果非常关键。这对于快速收集随时产生的海量数据、快速进行数据分析,确保安全人员高效响应非常重要。大数据安全分析平台评估五要素.中琛魔方大数据...

关键字: 大数据 数据类型 大数据安全分析平台

1.数据类型的长度尽量小:在满足要求的前提下数据类型长度越小,需要的存储空间也就越小,同时需要读取的CPU周期可能也会越少,可以提高性能 2.数据类型尽量简单:因为当数据类型比较简单的时候说明其规则也

关键字: mysql 数据类型

大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。Sqlite使用一个更

关键字: sqlite 数据类型

整型类型:bool 数据类型在C++语言里是默认支持的。如果你在C代码的头文件里包含stdbool.h, bool数据类型也可以使用在C语言里。也可以使用布尔值 false和 true。char型是无符号型还是有符号型,...

关键字: iar 数据类型

LABVIEW的类型描述符是I16类型的数组,第一个整形数表示整个描述结构包含的字节数(长度),第二个整形数的低位字节表示数据类型,高位字节LV保留,第三个对于不同的数据类型有不同的含义,比如,对于簇,表示簇用

关键字: LabVIEW 数据类型

今天在看程序的时候,按照书上的例子我老是做不对,最后发现,是数据类型的问题。痛定思痛,将所有数据类型做了一个表格的形式,这样更方便查看。

关键字: LabVIEW 数据类型

i = sizeof(char);//char是一字节的变量if(i == 1){led0 = 0;}i = sizeof(int);if(i == 2)//led等亮,测试int是两字节的变量{led1 = 0;}i...

关键字: stc89c51rc 单片机 数据类型 字节数测试

在Keil MDK 开发环境里,比如一个 无符号32位整形数据会有很多种表示方法:1,unsigned int 32 (C语言标准表达方法) 2,uint32_t ;3 ,u32;这三种方式都是在表达同一个意思,可为什么...

关键字: STM32 数据类型

在标准C语言中基本的数据类型为char,int,short,long,float和double,而在C51编译器中int和short相同,float和double相同。说明:(1)类型修饰符signed和unsigned...

关键字: 51 C语言 数据类型

温故而知新迄今为止的职业生涯中,有过两次集中时间学习C++的经历。第一次大概是在1994年前后,那时非计算机专业大学毕业刚接触C++,学的是还是BorlandC++3.1的手册。许多东西都是一知半解就

关键字: c++11 数据类型

全栈芯片工程师

60 篇文章

关注

发布文章

编辑精选

技术子站

关闭