开发手册 欢迎您!
软件开发者资料库

Perl - Scalars

Perl Scalars - 从简单和简单的步骤学习Perl,从基本到高级概念,包括简介,环境,语法,数据类型,变量,标量,数组,哈希,IF ... ELSE,循环,运算符,日期和时间,子例程,引用,格式,文件I / O,目录,错误处理,特殊变量,编码标准,正则表达式,发送电子邮件,套接字编程,面向对象,数据库访问,CGI编程,包和模块,流程管理,嵌入式文档,功能参考。

标量是单个数据单位.该数据可能是整数,浮点数,字符,字符串,段落或整个网页.

这是一个使用标量变量的简单示例 :

#!/usr/bin/perl$age = 25;             # An integer assignment$name = "John Paul";   # A string $salary = 1445.50;     # A floating pointprint "Age = $age\n";print "Name = $name\n";print "Salary = $salary\n";

这将产生以下结果 :

Age = 25Name = John PaulSalary = 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 = 200negative = -300floating = 200.34bigfloat = -1.2e-23octal = 255hexa = 255

String Scalars

以下示例演示了各种类型的字符串标量的用法.注意单引号字符串和双引号字符串之间的区别 :

#!/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 - $vardouble = 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 = helloworldnum = 15mul = 20mix = helloworld15

多行字符串

如果你想在你的程序中引入多行字符串,可以使用标准的单引号,如下所示;

#!/usr/bin/perl$string = 'This isa multilinestring';print "$string\n";

这将产生以下结果 :

This isa multilinestring

您可以使用"here"文档语法来存储或打印多行,如下所示;

#!/usr/bin/perlprint <

这也会产生相同的结果 :

This isa multilinestring

V -Strings

将v1.20.300.4000格式的文字解析为由具有指定序数的字符组成的字符串.这种形式称为v-strings.

v-string提供了一种替代且更易读的方式来构造字符串,而不是使用稍微不那么易读的插值形式"\ 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 = foomartin = MartinWide character in print at main.pl line 7.

特殊字面值

到目前为止,您必须对字符串标量及其连接和插值操作有所了解.因此,让我告诉您三个特殊文字__FILE __,单独的标记,不会插入字符串.检查以下示例 :

#!/usr/bin/perlprint "File name ". __FILE__ . "\n";print "Line Number " . __LINE__ ."\n";print "Package " . __PACKAGE__ ."\n";# they can not be interpolatedprint "__FILE__ __LINE__ __PACKAGE__\n";

这将产生以下结果 :

File name hello.plLine Number 4Package main__FILE__ __LINE__ __PACKAGE__