- 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
您也可以使用“此处”文档语法来存储或打印多行,如下所示 -
#!/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}”。
它们是以 av 开头并后跟一个或多个点分隔元素的任何文字。例如 -
#!/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__