Perl 标量

2024 年 8 月 29 日 | 阅读 3 分钟

标量包含单个数据单元。它以 ($) 符号开头,后跟字母、数字和下划线。

标量可以包含任何东西:数字、浮点数、字符或字符串。

我们可以用两种方式定义标量。首先,我们可以一起声明并赋值。其次,我们首先声明,然后将值赋给标量。

在下面的例子中,我们将展示定义标量的两种方法。

示例

输出

Red
Delhi

Perl 标量运算

在这个例子中,我们将使用两个标量变量 $x$y 执行不同的运算。在 Perl 中,运算符告诉操作数如何表现。

示例

输出

5
3
8
53
555

第一个和第二个输出分别是 $x 和 $y 的值。

(+) 运算符简单地将 5 和 3 相加,输出为 8。

(.) 是一个连接运算符,它将输出 5 和 3 连接起来,输出为 53。

(x) 是一个重复运算符,它将左侧变量重复其右侧数字的次数。

Perl 特殊字面量

Perl 中有三个特殊字面量

__FILE__:它表示当前文件名。

__LINE__:它表示当前行号。

__PACKAGE__:它表示您程序中该点的包名。

示例

输出

File name hw.pl
Line Number 6
Package main
__FILE__ __LINE __ __PACKAGE

Perl 字符串上下文

Perl 会根据需要自动将字符串转换为数字,并将数字转换为字符串。

例如,5 与 "5" 相同,5.123 与 "5.123" 相同。

但是如果一个字符串包含数字以外的一些字符,它们在算术运算中的行为会如何呢?让我们通过一个例子来看看。

示例

输出

7
52cm
55

在数值上下文中,Perl 查看字符串的左侧,并将其转换为数字。字符成为变量的数值。在数值上下文 (+) 中,给定的字符串 "2cm" 被视为数字 2。

尽管,它会生成警告:

这里发生的事情是,Perl 没有将 $y 转换为数值。它只是使用了它的数值部分,即 2。


Perl 未定义

如果您没有在变量中定义任何内容,则将其视为 未定义。在数值上下文中,它充当 0。在字符串上下文中,它充当 字符串。

输出

Use of uninitialized value $y in addition (+) at hw.pl line 9.
5
Use of uninitialized value $y in concatenation (.) or string at hw.pl line 10.
5
Use of uninitialized value $y in repeat (x) at hw.pl line 11.
NOT
下一主题Perl 运算符