Perl variable


Release date:2023-10-11 Update date:2023-10-21 Editor:admin View counts:319

Label:

Perl variable

A variable is data stored in memory, and creating a variable opens up a space in memory.

The interpreter determines the storage space in memory based on the type of variable, so you can assign different data types to the variable, such as integer, floating point, string, and so on.

In the previous chapter, we introduced you to the three basic data types of Perl: scalar, array, and hash.

  • Scalar quantity $ start, such as $a $b is two scalars.

  • Array @ start, such as @a @b is two arrays.

  • Hash % start %a %b is two hashes.

Perl separate command space is set for each variable type, so different types of variables can use the same name, and you don’t have to worry about conflicts. For example $foo and @foo are two differentvariables.

Create variable

The variable does not need to explicitly declare the type, and the interpreter automatically allocates the matching type space after the variable is assigned.

Variables use the equal sign ( = ) to assign values.

We can use it in the program. use strict statement makes it necessary for all variables to force a type declaration.

The equal sign is a variable on the left and a value on the right. The example is as follows:

$age = 25;             # integer
$name = "runoob";      # character string
$salary = 1445.50;     # floating point number

In the above code, 25, “runoob”, and 1445.50 are assigned values to the variables $age, $name, and $salary respectively.

Next we will see the use of arrays and hashes.

Scalar variable

Scalar is a single data unit. The data can be integers, floating-point numbers, characters, strings, paragraphs, etc. Simply put, it can be anything. The following is a simple application of scalars:

Example

#!/usr/bin/perl

$age = 25;             # integer
$name = "runoob";      # character string
$salary = 1445.50;     # floating point number

print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

The output of the above program execution is as follows:

Age = 25
Name = runoob
Salary = 1445.5

Array variable

An array is a variable that stores an ordered scalar value.

Array @ start.

To access the variables of an array, you can use the dollar sign ($) + variable name and specify the subscript. The example is as follows:

Example

#!/usr/bin/perl

@ages = (25, 30, 40);
@names = ("google", "runoob", "taobao");

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";

The output of the above program execution is as follows:

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = google
$names[1] = runoob
$names[2] = taobao

In the program, we are in $ the escape character is used before the tag(\ ) so that the characters can be output $ .

Hash variable

Hash is a key/value that’s right. Gather.

Hash % start.

If you want to access the hash, you can use the $ + {key} format to access:

Example

#!/usr/bin/perl

%data = ('google', 45, 'runoob', 30, 'taobao', 40);

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'runoob'} = $data{'runoob'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

The output of the above program execution is as follows:

$data{'google'} = 45
$data{'runoob'} = 30
$data{'taobao'} = 40

Variable context

Context: refers to the location of the expression.

The context is determined by the variable type on the left side of the equalsign, the scalar context on the left side of the equal sign, and the list context on the left side of the equal sign.

Perl interpreter determines the type of variable based on the context. Examples are as follows:

Example

#!/usr/bin/perl

@names = ('google', 'runoob', 'taobao');

@Copy=@ names# Copy Array
$size=@ names# Assigning an array to a scalar returns the number of array elements

Print "Name is: @ copy n";
Print "The number of names is: $size n";

The output of the above program execution is as follows:

Name: Google runoob taobao
Number of names: 3

In the code @names is an array that is applied in two different contexts. The first one copies it to another array, so it outputs all the elements of the array. The second one assigns the array to a scalar, which returns the number of elements of the array.

A number of different contexts are listed below:

Serial number

Context and description

1

A scalar − is assigned to a scalar variable, which is calculated on the right side of the scalar context

2

The list − is assigned to an array or hash, which is calculated on the rightside of the list context.

3

The Boolean − Boolean context is a simple expression evaluation to see if itis true or false.

4

The context of Void − does not require a relationship to return any value, and generally does not need to return a value.

5

The context of interpolating − occurs only in quotation marks.

Powered by TorCMS (https://github.com/bukun/TorCMS).