标量是单个数据单位.该数据可能是整数,浮点数,字符,字符串,段落或整个网页.
这是一个使用标量变量的简单示例 :
#!/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
将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 = foo martin = Martin Wide character in print at main.pl line 7.
到目前为止,您必须对字符串标量及其连接和插值操作有所了解.因此,让我告诉您三个特殊文字__FILE __,单独的标记,不会插入字符串.检查以下示例 :
#!/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__