Perl - 变量声明

首页 / Perl入门教程 / Perl - 变量声明

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

创建变量

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 变量

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

无涯教程网

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

#!/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”(@)符号。

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

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

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

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

上下文变量

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

链接:https://www.learnfk.comhttps://www.learnfk.com/perl/perl-variables.html

来源:LearnFk无涯教程网

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品实战 -〔邱岳〕

程序员进阶攻略 -〔胡峰〕

玩转webpack -〔程柳锋〕

Kafka核心技术与实战 -〔胡夕〕

正则表达式入门课 -〔涂伟忠〕

如何落地业务建模 -〔徐昊〕

PyTorch深度学习实战 -〔方远〕

快速上手C++数据结构与算法 -〔王健伟〕

Rust 语言从入门到实战 -〔唐刚〕

好记忆不如烂笔头。留下您的足迹吧 :)