本文和大家重点讨论一下Perl简单变量的概念,基本上,Perl简单变量就是一个数据单元,这个单元可以是数字或字符串。相信通过本节的介绍你对Perl简单变量的概念有明确的认识。
Perl简单变量
一、整型
二、浮点数
三、字符串
基本上,Perl简单变量就是一个数据单元,这个单元可以是数字或字符串。
一、整型
1、整型
PERL最常用的Perl简单变量,由于其与其它语言基本相同,不再赘述。
例:
$x=12345;
if(1217+116==1333){
#statementblockgoeshere
}
整型的限制:
PERL实际上把整数存在你的计算机中的浮点寄存器中,所以实际上被当作浮点数看待。在多数计算机中,浮点寄存器可以存贮约16位数字,长于此的被丢弃。整数实为浮点数的特例。
2、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/local/bin/perl
- $value=9.01e+21+0.01-9.01e+21;
- print("firstvalueis",$value,"\n");
- $value=9.01e+21-9.01e+21+0.01;
- print("secondvalueis",$value,"\n");
- ---------------------------------------------------------
- $program3_3
- firstvalueis0
- secondvalueis0.01
三、字符串
惯用C的程序员要注意,在PERL中,字符串的末尾并不含有隐含的NULL字符,NULL字符可以出现在串的任何位置。
.双引号内的字符串中支持Perl简单变量替换,例如:
- $number=11;
- $text="Thistextcontainsthenumber$number.";
- 则$text的内容为:"Thistextcontainsthenumber11."
◆双引号内的字符串中支持转义字符
Table3.1.Escapesequencesinstrings.
\L、\U、\Q功能可以由\E关闭掉,如:
$a="T\LHISISA\ESTRING";#sameas"ThisisaSTRING"
◆要在字符串中包含双引号或反斜线,则在其前加一个反斜线,反斜线还可以取消变量替换,如:
- $res="Aquote\"andAbackslash\\";
- $result=14;
- print("Thevalueof\$resultis$result.\n")的结果为:
- Thevalueof$resultis14.
◆可用\nnn(8进制)或\xnn(16进制)来表示ASCII字符,如:
$result="\377";#thisisthecharacter255,orEOF
$result="\xff";#thisisalso255
◆单引号字符串
单引号字符串与双引号字符串有两个区别,一是没有变量替换功能,二是反斜线不支持转义字符,而只在包含单引号和反斜线时起作用。单引号另一个特性是可以跨多行,如:
- $text='Thisistwo
- linesoftext
- ';
与下句等效:
$text="Thisistwo\nlinesoftext\n";
◆字符串和数值的互相转换
例1:
- $string="43";
- $number=28;
- $result=$string+$number;#$result=71
若字符串中含有非数字的字符,则从左起至***个非数字的字符,如:
$result="hello"*5;#$result=0
$result="12a34"+1;#$result=13
◆变量初始值
在PERL中,所有的Perl简单变量都有缺省初始值:"",即空字符。但是建议给所有变量赋初值,否则当程序变得大而复杂后,很容易出现不可预料且很难调试的错误。
【编辑推荐】