- Perl 基础
- Perl - 首页
- Perl - 简介
- Perl - 环境
- Perl - 语法概述
- Perl - 数据类型
- Perl - 变量
- Perl - 标量
- Perl - 数组
- Perl - 哈希表
- Perl - IF...ELSE
- Perl - 循环
- Perl - 运算符
- Perl - 日期与时间
- Perl - 子程序
- Perl - 引用
- Perl - 格式
- Perl - 文件 I/O
- Perl - 目录
- Perl - 错误处理
- Perl - 特殊变量
- Perl - 编码规范
- Perl - 正则表达式
- Perl - 发送邮件
- Perl 高级
- Perl - 套接字编程
- Perl - 面向对象
- Perl - 数据库访问
- Perl - CGI 编程
- Perl - 包与模块
- Perl - 进程管理
- Perl - 内嵌文档
- Perl - 函数引用
- Perl 有用资源
- Perl - 常见问题解答
- Perl - 快速指南
- Perl - 有用资源
- Perl - 讨论
Perl - 标量
标量是单个数据单元。该数据可能是整数、浮点数、字符、字符串、段落或整个网页。
以下是用标量变量的简单示例:
#!/usr/bin/perl $age = 25; # An integer assignment $name = "John Paul"; # A string $salary = 1445.50; # A floating point print "Age = $age\n"; print "Name = $name\n"; print "Salary = $salary\n";
这将产生以下结果:
Age = 25 Name = John Paul Salary = 1445.5
数值标量
标量最常见的是数字或字符串。以下示例演示了各种类型数值标量的用法:
#!/usr/bin/perl $integer = 200; $negative = -300; $floating = 200.340; $bigfloat = -1.2E-23; # 377 octal, same as 255 decimal $octal = 0377; # FF hex, also 255 decimal $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 = "This is string scalar!"; $quote = 'I m inside single quote - $var'; $double = "This is inside single quote - $var"; $escape = "This example of escape -\tHello, World!"; print "var = $var\n"; print "quote = $quote\n"; print "double = $double\n"; print "escape = $escape\n";
这将产生以下结果:
var = This is string scalar! quote = I m inside single quote - $var double = This is inside single quote - This is string scalar! escape = This example of escape - Hello, World
标量运算
您将在单独的章节中看到Perl中可用各种运算符的详细信息,但在这里我们将列出一些数值和字符串运算。
#!/usr/bin/perl $str = "hello" . "world"; # Concatenates strings. $num = 5 + 10; # adds two numbers. $mul = 4 * 5; # multiplies two numbers. $mix = $str . $num; # concatenates string and number. print "str = $str\n"; print "num = $num\n"; print "mul = $mul\n"; print "mix = $mix\n";
这将产生以下结果:
str = helloworld num = 15 mul = 20 mix = helloworld15
多行字符串
如果要将多行字符串引入程序中,可以使用标准单引号,如下所示:
#!/usr/bin/perl $string = 'This is a multiline string'; print "$string\n";
这将产生以下结果:
This is a multiline string
您也可以使用“here”文档语法来存储或打印多行,如下所示:
#!/usr/bin/perl print <<EOF; This is a multiline string EOF
这也会产生相同的结果:
This is a multiline string
V-字符串
形式为 v1.20.300.4000 的字面量被解析为由具有指定序号的字符组成的字符串。此形式称为 v-字符串。
v-字符串提供了一种替代且更易读的构造字符串的方法,而不是使用不太易读的插值形式“\x{1}\x{14}\x{12c}\x{fa0}”。
它们是以 v 开头,后跟一个或多个用点分隔的元素的任何字面量。例如:
#!/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";
这也会产生相同的结果:
smile = ☺ foo = foo martin = Martin Wide character in print at main.pl line 7.
特殊字面量
到目前为止,您一定对字符串标量及其连接和插值操作有所了解。那么让我告诉您三个特殊字面量 __FILE__、__LINE__ 和 __PACKAGE__ 分别表示程序中该点的当前文件名、行号和包名。
它们只能用作单独的标记,不会被插入到字符串中。查看下面的示例:
#!/usr/bin/perl print "File name ". __FILE__ . "\n"; print "Line Number " . __LINE__ ."\n"; print "Package " . __PACKAGE__ ."\n"; # they can not be interpolated print "__FILE__ __LINE__ __PACKAGE__\n";
这将产生以下结果:
File name hello.pl Line Number 4 Package main __FILE__ __LINE__ __PACKAGE__
广告