Perl 教程
1. Perl 教程 2. Perl 简介 3. Perl 环境安装 4. Perl 基础语法 5. Perl 数据类型 6. Perl 变量 7. Perl 标量 8. Perl 数组 9. Perl 哈希 10. Perl 条件语句 11. Perl 循环 12. Perl 运算符 13. Perl 时间日期 14. Perl 子程序(函数) 15. Perl 引用 16. Perl 格式化输出 17. Perl 文件操作 18. Perl 目录操作 19. Perl 错误处理 20. Perl 特殊变量 21. Perl 正则表达式 22. Perl 发送邮件 23. Perl Socket 编程 24. Perl 面向对象 25. Perl 数据库连接 26. Perl 包和模块 27. Perl 进程管理 28. Perl POD 文档

Perl 标量

Perl 标量

标量是一个简单的数据单元。

标量可以是一个整数,浮点数,字符,字符串,段落或者一个完整的网页。

以下实例演示了标量的简单应用:

实例

#!/usr/bin/perl $age = 20; # 整数赋值 $name = ""; # 字符串 $salary = 130.50; # 浮点数 print "Age = $age\n"; print "Name = $name\n"; print "Salary = $salary\n";

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


Age = 20

Name = 

Salary = 130.5


数字标量

标量通常是一个数字或字符串,以下实例演示了不同类型的数字标量的使用:

实例

#!/usr/bin/perl $integer = 200; $negative = -300; $floating = 200.340; $bigfloat = -1.2E-23; # 八进制 377 , 十进制为 255 $octal = 0377; # 十六进制 FF, 十进制为 255 $hexa = 0xff; print "integer = $integer\n"; print "negative = $negative\n"; print "floating = $floating\n"; print "bigfloat = $bigfloat\n"; print "octal = $octal\n"; print "hexa = $hexa\n";

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


integer = 200

negative = -300

floating = 200.34

bigfloat = -1.2e-23

octal = 255

hexa = 255


字符串标量

以下实例演示了不同类型的字符串标量的使用,注意单引号和双引号的使用区别:

实例

#!/usr/bin/perl $var = "字符串标量 - !"; $quote = '我在单引号内 - $var'; $double = "我在双引号内 - $var"; $escape = "转义字符使用 -\tHello, World!"; print "var = $var\n"; print "quote = $quote\n"; print "double = $double\n"; print "escape = $escape\n";

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


var = 字符串标量 - !

quote = 我在单引号内 - $var

double = 我在双引号内 - 字符串标量 - !

escape = 转义字符使用 -    Hello, World!


标量运算

以下实例演示了标量的简单运算:

实例

#!/usr/bin/perl $str = "hello" . "world"; # 字符串连接 $num = 5 + 10; # 两数相加 $mul = 4 * 5; # 两数相乘 $mix = $str . $num; # 连接字符串和数字 print "str = $str\n"; print "num = $num\n"; print "mix = $mix\n";

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


str = helloworld

num = 15

mix = helloworld15


多行字符串

我们可以使用单引号来输出多行字符串,如下所示:

实例

#!/usr/bin/perl $string = ' —— 学的不仅是技术,更是梦想! '; print "$string\n";

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




    —— 学的不仅是技术,更是梦想!

你也可以使用 "here" document 的语法格式来输出多行:

实例

#!/usr/bin/perl print <<EOF; —— 学的不仅是技术,更是梦想! EOF

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




    —— 学的不仅是技术,更是梦想!


特殊字符

以下我们将演示 Perl 中特殊字符的应用,如 __FILE__, __LINE__, 和 __PACKAGE__ 分别表示当前执行脚本的文件名,行号,包名。

注意__ 是两条下划线,__FILE__ 前后各两条下划线。

这些特殊字符是单独的标记,不能写在字符串中,例如:

实例

#!/usr/bin/perl print "文件名 ". __FILE__ . "\n"; print "行号 " . __LINE__ ."\n"; print "包名 " . __PACKAGE__ ."\n"; # 无法解析 print "__FILE__ __LINE__ __PACKAGE__\n";

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


文件名 test.pl

行号 4

包名 main

__FILE__ __LINE__ __PACKAGE__


v 字符串

一个以 v 开头,后面跟着一个或多个用句点分隔的整数,会被当作一个字串文本。

当你想为每个字符 直接声明其数字值时,v-字串提供了一种更清晰的构造这类字串的方法,而不像 "\x{1}\x{14}\x{12c}\x{fa0}" 这种不易于理解,我们可以看下面的实例:

实例

#!/usr/bin/perl $smile = v9786; $foo = v102.111.111; $martin = v77.97.114.116.105.110; print "smile = $smile\n"; print "foo = $foo\n"; print "martin = $martin\n";

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


Wide character in print at test.pl line 7.

smile = &#x263a;

foo = foo

martin = Martin