Perl
+ -

Perl 数据类型

2019-09-09 5 0

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

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

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

$myfirst=123;     #数字123 
$mysecond="123";   #字符串123   

数组:数组变量以字符”@”开头,索引从0开始,如:@arr=(1,2,3)

@arr=(1,2,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 = "字节流  \nhttp://www.bytekits.com";
print "$str\n";
# 换行 \n 位于单引号内,无效
$str = '字节流  \nhttp://www.bytekits.com';
print "$str\n";
# 只有 R 会转换为大写
$str = "\ubytekits";
print "$str\n";
# 所有的字母都会转换为大写
$str = "\Ubytekits";
print "$str\n";
# 指定部分会转换为大写
$str = "Welcome to \Ubytekits\E.com!"; 
print "$str\n";
# 将到\E为止的非单词(non-word)字符加上反斜线
$str = "\QWelcome to bytekits's family";
print "$str\n";

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

字节流  
http://www.bytekits.com
字节流  \nhttp://www.bytekits.com
Bytekits
BYTEKITS
Welcome to BYTEKITS.com!
Welcome\ to\ bytekits\'s\ family

0 篇笔记 写笔记

UNIX Shell 字符转义
当shell遇到包含一个或多个特殊字符的表达式时,它将执行替换语句。在此,变量的打印值由其值代替。同时,” ” 换行#!/bin/sha=10echo -e "Value of a is $a "您将收到以下输出。在这里, -e 选项可以解释反斜杠转义符。Value of a......
正则表达式 元字符
下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,’n’ 匹配字符 “n”。’ ’ 匹配一个换行符。序列 ‘‘ 匹配 “” 而 “(“ 则匹配 “(......
Python3 字符串ljust()方法
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。语法ljust()方法语法:str.ljust(width[, fillchar])参数width — 指定字符串长度。fillchar — 填充字符,默认为空格。返回值返......
Python3 字符串count()方法
count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。语法count()方法语法:str.count(sub, start= 0,end=len(string))参数sub — 搜索的子字符串start — 字符串开始搜索的位置。默认为第一个字符,第一个字符......
Ruby CGI方法
以下为CGI类的方法列表:序号方法描述 1CGI::new([ level=”query”]) 创建 CGI 对象。query可以是以下值: query: 没有 HTML 生成输出 html3: HTML3.2 html4: HTML4.0 Strict html4Tr: HTM......
Redis 字符
Redis字符串命令用于管理Redis中的字符串值,以下是使用Redis字符串命令的语法。Strings - 语法redis 127.0.0.1:6379> COMMAND KEY_NAME Strings - 示例redis 127.0.0.1:6379> SET bytekits r......
Java subSequence() 方法
subSequence() 方法返回一个新的字符序列,它是此序列的一个子序列。语法public CharSequence subSequence(int beginIndex, int endIndex)参数beginIndex -- 起始索引(包括)。endIndex -- 结束索引(不包括)。返......
Java intern() 方法
intern() 方法返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。语法public String intern()参数无返回值一个字符串,内容与此......
Python3 字符串len()方法
Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。语法len()方法语法:len( s )参数s — 对象。返回值返回对象长度。实例以下实例展示了 len() 的使用方法:>>>str = "bytekits">>> ......
Java compareTo() 方法
compareTo() 方法用于两种方式的比较:字符串与对象进行比较。按字典顺序比较两个字符串。语法int compareTo(Object o)或int compareTo(String anotherString)参数o -- 要比较的对象。anotherString -- 要比较的字符串。返回......
Java compareToIgnoreCase() 方法
compareToIgnoreCase() 方法用于按字典顺序比较两个字符串,不考虑大小写。语法int compareToIgnoreCase(String str)参数str -- 要比较的字符串。返回值如果参数字符串等于此字符串,则返回值 0;如果此字符串小于字符串参数,则返回一个小于 0 的值......
MySQL 字符串函数
ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码。返回 CustomerName 字段第一个字母的 ASCII 码:SELECT ASCII(CustomerName) AS NumCodeOfFirstCharFROM Customers;CHAR_LENGTH(s) 返回字符串......
Linux Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:echo string您可以使用echo实现更复杂的输出格式控制。1.显示普通字符串:echo "It is a test"这里的双引号完全可以省略,以下命令与上面实例效果一致:ec......
Python3 字符串zfill()方法
Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。语法zfill()方法语法:str.zfill(width)参数width — 指定字符串的长度。原字符串右对齐,前面填充0。返回值返回指定长度的字符串。实例以下实例展示了 zfill()函数的使用方法:#!/usr......
Python3 字符串isalnum()方法
isalnum() 方法检测字符串是否由字母和数字组成。语法isalnum()方法语法:str.isalnum()参数无。返回值如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False实例以下实例展示了isalnum()方法的实例:#!/usr/bin/py......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!