一、数字常量
在Perl中,不管是整型常量还是浮点型常量都是按照双精度浮点型常量来表示的,也就是说在Perl内部,并不存在整型常量(所有的整型常量都会转换为等效的浮点型常量)。
1. 浮点型常量
255.000
255.0
7.25e45 # 7.25 * 10^45
-6.5e24 # -6.5 * 10^24
-12e-24 # -12 * 10^-24
-1.2E-23 小数点和其中的正负号都是可选的,同样可以使用e来表示10的多少次方。
2. 整型常量
61298040283768 最后一个数字可能不易于阅读,Perl中可以加上下划线,用来分开数字中的位:
61_298_040_283_768
上面这种写法同不使用下划线的写法表示的数字完全相同,只是为了便于阅读而已,那为什么不使用常见的逗号','呢,因为Perl将逗号用在了其它更重要的地方了。
Perl中同样可以使用八进制、十六进制来表示整型常量,除了八、十六进制外,还有二进制,八进制的常量使用0(零)开头,十六进制以0x开头,二进制以0b开头,例如:
0b11111111 以上三个常量都表示十进制的255。
二、字符串常量
字符串常量有单引号'''和双引号'"'两种。
在单引号字符串常量中,除了单引号'''和反斜线'\'外,其它所有字符都表示为字符本身,有点拗口,要表示单引号和反斜线时,需要在在前面加上反斜线,例如:
‘fred’ # 4个字符
'barney' # 6个字符
'' # 空字符串
'Don\'t let an apostrophe end this string prematurely!'
'the last character of this string is a backslash: \\'
'hello
there' # hello、换行符、there(共11个字符)
'\'\\' # 单引号和反斜线
需要注意的是,在Perl中字符串末尾并没有字符串的结束符'\0',同时在单引号字符串中,'\n'并不代表换行符,而是表示为’\‘和‘n’这两个字符,只是这个反斜线无任何意义。
对于双引号字符串常量同单引号字符串常量唯一不同的是可以使用转义字符,例如前面的\n在双引号字符串常量中表示换行符。转义字符如下:
\n 换行
\r 回车
\t 水平制表符
\f 换页符
\b 退格
\a 响铃
\e ESC
\007 八进制的ASCII值,这里的007表示系统响铃
\x7f 十六进制的ASCII值,这里的7f表示删除(DEL)键
\cC 控制符,这里表示(Ctrl + C)
\\ 反斜线
\" 双引号
\l 将下一个字符转换为小写
\L 将到\E为止的所有字符转换为小写
\u 将下个字符转换为大写
\U 将到\E为止的所有字符转换为大写
\Q 将到\E为止的非单词(non-word)字符加上反斜线
\E \E、\U和\Q的结束符
三、字符串的连接
在Perl中,字符串可以使用点'.'操作符连接起来,组成一个字符串,例如:
"hello" . ' ' . "World!" # 等同于"Hello World!"
注意同其它语言不同的是在Perl中,连接字符串必须显示的使用.操作符。
还有个特性就是字符串重复操作符,例如:
"fred" x 3 # 得到"fredfredfred"
重复操作符为x,此操作符将其左边的字符串重复连接起来,重复的次数由右边的数字决定。
四、字符串常量同数字常量的自动转换
在Perl中,Perl会根据需要在字符串和数字之间进行类型转换,转换的规则取决于操作符,如果操作符的对象是数字,那么Perl就会将它当作数字,如果操作符的对象是字符串时,则将它当作字符串,例如,"12" * "3"的结果为36,"12fred34" * "3"的结果也为36,Perl会忽略其中的非数字部分,特殊情况下不包含数字的字符串会被转换为零("fred"会被当作数字零来使用)。
同样,在需要字符串的时候,数字会被转换为字符串来使用,"Z" . 5 * 7等同于"z" . 35得"Z35"。这些转换都是自动完成的,在平时编程注意一下就是了。
第一章
Perl
概述............................................................................................................................10
1.1 从头开始..........................................................................................................................10
1.2 自然语言与人工语言......................................................................................................11
1.2.1 变量语法...............................................................................................................12
1.2.2 单数变量...............................................................................................................13
1.2.3 复数变量...............................................................................................................14
1.2.4 复杂数据结构.......................................................................................................17
1.2.5 简单数据结构.......................................................................................................19
1.2.6 动词.......................................................................................................................21
1.3 一个平均值例子..............................................................................................................22
1.3.1 如何运行...............................................................................................................24
1.4 文件句柄..........................................................................................................................26
1.5 操作符..............................................................................................................................28
1.5.1 双目算术操作符...................................................................................................28
1.5.2 字符串操作符.......................................................................................................28
1.5.3 赋值操作符...........................................................................................................29
# Your code here
Perl
::Core 在单个用户友好的导入中提供了现代
Perl
的最佳部分。 默认使用
Perl
5.14版,但您可以选择在导入语句中使用哪个版本。
use
Perl
::Core '5.18';
以下模块和关键字将自动加载到您的脚本中:
- 限制不安全的构造
– 启用可选警告
– 根据所选版本启用新的语言功能
– 多重继承下的理智方法解析顺序( )
– 使用|in|简化智能关键词
– 带有define关键字的简化
常量
– 使用maybe/provided关键字简化条件处理
– 使用try/catch/finally关键字进行正常的异常处理
请在 bugtracker 网站上报告任何错误或功能请
参考:http://www.cbi.pku.edu.cn/chinese/documents/
perl
/index.htm网站环境配置:http://blog.sina.com.cn/s/blog_4aa65a3f01013az9.html前言:
perl
是什么,干什么用的?
perl
原来设计者的意图是用来处理 字符的,80%的强项是处理字符,当然其它的很多都可以。现在很多网页也是用
perl
...
关于16进制字符串转为单精度浮点数和双精度浮点数的运算(一)最近在进行GPIB方面的开发时,传回的数据有这两种格式,1.IEEE 32位浮点数格式;2.IEEE 64位浮点数格式。1.IEEE 32位浮点数格式
这种格式的特点是:每个数由4字节组成,包括1位符号位,8位带符号阶码,23位尾数。
例如:我们收到一个数的格式是 BE 30 94 00,那么它的二进制格式是:1 011 1110 00
perl
下一般有三种定义一个变量的方法:1. $var = "XXX"2. local($var) = "XXX"3. my($var) = "XXX" 第一种方式是定义一个全局的变量,第二种方式定义一个local类型的变量,第三种方式定义一个my类型的变量。目前我知道的这三种定义变量的方式在作用域上有区别,下面这个例子可以说明这一点。-----------------
使用
PERL
相对与其他的语言而言,数据的定义似乎更加容易。因为
PERL
里面的数据类型似乎只有3种表现形式:标量,数组,hash.标量不用说,是最简单和基本的形式,数组和hash则相对复杂和强大一些。一般而言,使用数组可以实现类似堆栈、队列、链表之类的数据结构,而hash则可以实现记录、查询表、或者更为复
1、在格式d、o、u或x中,如果整数值较大或可能较大,可加个l字符,意为长整型,如%ld。
2、%字符后加正整数表示该域的最小宽度,如果输出结果宽度不足,则向右对齐,前面用空格补足,如果该正整数以数字0打头,则补足字符为0。若%字符后为负整数,则结果向右对齐。
3、浮点数域值(%c、%f和%g)中可以指定小数点前后的宽度,如%8.3f意为总宽度为8
答(一): 像C语言中有作用域的概念,比如一个在函数中定义的变量,在函数外是无效的。
perl
也有作用域的概念,
perl
定义的变量默认是全局的,当在定义变量时使用
my $abc,那么$abc的作用域就限定在当前函数体或当前for循环中。
乃局部变量。
答(二): our,"把名字限于某个范围“,其实就是明确声明一个"全局变量",
<br />[原创]
Perl
模块使用 => 简短例子代码集合!http://www.chinaunix.net 作者:deathcult 发表于:2003-09-04 14:59:54【发表评论】 【查看原文】 【
Perl
讨论区】【关闭】<br />如果你有模块使用范例(请尽量简洁),请帖新贴, <br />或坛内邮件(主题:
perl
模块使用范例)给我,由我测试 <br />整理以后,在此发布。 <br />希望多多支持! <br /><br />真心希望朋友们能在chinaunix受益。大家共同进步!