📄 perl2.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<title></title>
<LINK rel="stylesheet" href="article.css" type="text/css">
</head>
<body>
<br>
<p align="center"><strong>第二章 简单变量 </strong><br></p>
<p align="center"><a target="_blank" href="http://flamephoenix.126.com">
by flamephoenix</a></p>
<a href="#1、整型">一、整型</a>
<br>
<a href="#二、浮点数">二、浮点数</a>
<br>
<a href="#三、字符串">三、字符串</a></p>
<p> 基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串。<br>
<a name="1、整型">一、整型</a>
<br>
1、整型 <br>
PERL最常用的简单变量,由于其与其它语言基本相同,不再赘述。<br>
例:<br>
$x = 12345;<br>
if (1217 + 116 == 1333) {<br>
# statement block goes here<br>
}<br>
整型的限制:<br>
PERL实际上把整数存在你的计算机中的浮点寄存器中,所以实际上被当作浮点数看待。在多数计算机中,浮点寄存器可以存贮约16位数字,长于此的被丢弃。整数实为浮点数的特例。<br>
2、8进制和16进制数<br>
8进制以0打头,16进制以0x打头。<br>
例:$var1 = 047; (等于十进制的39)<br>
$var2 = 0x1f; (等于十进制的31)<br>
<a name="二、浮点数">二、浮点数</a>
<br>
如 11.4 、 -0.3 、.3 、
3. 、 54.1e+02 、 5.41e03<br>
浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。指数的范围通常为-309到+308。<br>
例:<br>
<br>
#!/usr/local/bin/perl<br>
$value = 9.01e+21 + 0.01 - 9.01e+21;<br>
print ("first value is ", $value,
"\n");<br>
$value = 9.01e+21 - 9.01e+21 + 0.01;<br>
print ("second value is ", $value,
"\n");<br>
<br>
---------------------------------------------------------<br>
<br>
$ program3_3<br>
first value is 0<br>
second value is 0.01<br>
<a name="三、字符串">三、字符串</a>
<br>
惯用C的程序员要注意,在PERL中,字符串的末尾并不含有隐含的NULL字符,NULL字符可以出现在串的任何位置。<br>
.
双引号内的字符串中支持简单变量替换,例如:<br>
$number = 11;<br>
$text = "This text contains the number
$number.";<br>
则$text的内容为:"This text contains the number
11."<br>
<br>
.双引号内的字符串中支持转义字符<br>
<b>Table 3.1. Escape sequences in strings.</b> </p>
<div align="center"><center>
<table border="1" width="60%">
<tr>
<td valign="top" width="145"> <b>Escape
Sequence</b></td>
<td valign="top" width="335"> <b>Description</b></td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\a</tt></td>
<td valign="top" width="335"> Bell
(beep) </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\b</tt></td>
<td valign="top" width="335"> Backspace
</td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\cn</tt></td>
<td valign="top" width="335"> The
Ctrl+<tt>n</tt> character </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\e</tt></td>
<td valign="top" width="335"> Escape
</td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\E</tt></td>
<td valign="top" width="335"> Ends
the effect of <tt>\L</tt>, <tt>\U</tt> or <tt>\Q</tt> </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\f</tt></td>
<td valign="top" width="335"> Form
feed </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\l</tt></td>
<td valign="top" width="335"> Forces
the next letter into lowercase </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\L</tt></td>
<td valign="top" width="335"> All
following letters are lowercase </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\n</tt></td>
<td valign="top" width="335"> Newline
</td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\r</tt></td>
<td valign="top" width="335"> Carriage
return </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\Q</tt></td>
<td valign="top" width="335"> Do not
look for special pattern characters </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\t</tt></td>
<td valign="top" width="335"> Tab </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\u</tt></td>
<td valign="top" width="335"> Force
next letter into uppercase </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\U</tt></td>
<td valign="top" width="335"> All
following letters are uppercase </td>
</tr>
<tr>
<td valign="top" width="145"> <tt>\v</tt></td>
<td valign="top" width="335"> Vertical
tab </td>
</tr>
</table>
</center></div>
<p align="left"> \L、\U、\Q功能可以由\E关闭掉,如:<br>
$a = "T\LHIS IS A \ESTRING"; # same as "This
is a STRING"<br>
<br>
.要在字符串中包含双引号或反斜线,则在其前加一个反斜线,反斜线还可以取消变量替换,如:<br>
$res = "A quote \" and A backslash
\\";<br>
$result = 14;<br>
print ("The value of \$result is
$result.\n")的结果为:<br>
The value of $result is 14.<br>
<br>
.可用\nnn(8进制)或\xnn(16进制)来表示ASCII字符,如:<br>
$result = "\377"; # this is the character
255,or EOF<br>
$result = "\xff"; # this is also 255<br>
<br>
.单引号字符串<br>
单引号字符串与双引号字符串有两个区别,一是没有变量替换功能,二是反斜线不支持转义字符,而只在包含单引号和反斜线时起作用。单引号另一个特性是可以跨多行,如:<br>
$text = 'This is two<br>
lines of text<br>
'; <br>
与下句等效:<br>
$text = "This is two\nlines of text\n"; <br>
<br>
.字符串和数值的互相转换<br>
例1:<br>
$string = "43";<br>
$number = 28;<br>
$result = $string + $number; # $result = 71<br>
若字符串中含有非数字的字符,则从左起至第一个非数字的字符,如:<br>
$result = "hello" * 5; # $result = 0<br>
$result = "12a34" +1; # $result = 13<br>
<br>
.变量初始值<br>
在PERL中,所有的简单变量都有缺省初始值:"",即空字符。但是建议给所有变量赋初值,否则当程序变得大而复杂后,很容易出现不可预料且很难调试的错误。<br>
</p>
<p align="center"><a href="perl1.htm">上一章</a> <a href="perl3.htm">下一章</a> <a href="index.htm">目录</a></p>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -