感谢您的光临! Learnfk在线教程网正在翻译编辑中,请您稍等(v^_^)v Learnfk在线教程网
英文链接源链接 [392]
contenteditable="true"

Perl - Variables 介绍

变量是保留存储位置以存储值。这意味着当您创建变量时,会在内存中保留一些空间。

解释器根据变量的数据类型分配内存并确定可以在保留内存中存储的内容。因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符串。

创建变量

Perl变量不必显式声明以保留内存空间。为变量分配值时,声明自动发生。等号(=)用于为变量分配值。

请注意,如果在程序中使用 use strict 语句,则在使用变量之前必须先声明该变量。

=运算符左侧的操作数是变量的名称,=运算符右侧的操作数是存储在变量中的值。如-

$age = 25;             # An integer assignment
$name = "John Paul";   # A string 
$salary = 1445.50;     # A floating point

这里的25," John Paul"和1445.50分别是分配给 $age , $name 和 $salary 变量的值。

Scalar变量

标量是数据的单个单位。该数据可能是整数,浮点数,字符,字符串,段落或整个网页。简单地说,它可以是任何东西,但只能是一件事。

这是一个使用标量变量的简单Example-

#!/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

Arrays变量

数组是一个变量,用于存储标量值的有序列表。 数组变量前面带有“ at”(@)符号。

这是使用数组变量的简单Example-

#!/usr/bin/perl

@ages = (25, 30, 40);             
@names = ("John Paul", "Lisa", "Kumar");

print "\$ages[0] = $ages[0]\n";
print "\$ages[1] = $ages[1]\n";
print "\$ages[2] = $ages[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";

这里我们在$符号之前使用转义符号(\)只是为了打印它。其他Perl会将其理解为变量并打印其值。执行后,将产生以下输出-

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = John Paul
$names[1] = Lisa
$names[2] = Kumar

Hash变量

哈希是一组键/值对。哈希变量前面带有百分号(%)。要引用哈希的单个元素,您将使用哈希变量名称,后跟与大括号中的值关联的"key"。

这是一个使用哈希变量的简单Example-

#!/usr/bin/perl

%data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40);

print "\$data{'John Paul'} = $data{'John Paul'}\n";
print "\$data{'Lisa'} = $data{'Lisa'}\n";
print "\$data{'Kumar'} = $data{'Kumar'}\n";

这将产生以下输出-

$data{'John Paul'} = 45
$data{'Lisa'} = 30
$data{'Kumar'} = 40

Variable Context

Perl根据context(即使用变量的情况)不同地对待同一变量。让我们检查以下Example-

#!/usr/bin/perl

@names = ('John Paul', 'Lisa', 'Kumar');

@copy = @names;
$size = @names;

print "Given names are : @copy\n";
print "Number of names are : $size\n";

这将产生以下输出-

Given names are : John Paul Lisa Kumar
Number of names are : 3


Sr.No.Context & Description
1

Scalar

给标量变量赋值会评估标量context中的右侧。

2

List

分配给数组或哈希将评估列表context中的右侧。

3

Boolean

布尔context只是在其中对表达式求值以查看它是真还是假的任何地方。

4

Void

该context不仅不在乎返回值是什么,甚至不希望返回值。

5

Interpolative

此context仅发生在引号内或类似引号的工作中。

点我分享笔记