Skip to content
Perl

Скаляры, массивы и хеши

Три главных типа данных Perl с сигилами.

#scalar#array#hash

Code

perl
use strict;
use warnings;

# Scalar ($)
my $name = "Alice";
my $age = 30;
my $pi = 3.14159;

# Array (@)
my @colors = ("red", "green", "blue");
print $colors[0];            # "red" (scalar access uses $)
print scalar(@colors);       # 3 (length)
push @colors, "yellow";      # append
unshift @colors, "black";    # prepend
my $last = pop @colors;      # remove last
my $first = shift @colors;   # remove first
my @slice = @colors[0, 1];   # array slice

# Hash (%)
my %person = (
  name => "Alice",
  age  => 30,
  city => "NYC",
);
print $person{name};         # "Alice" (scalar access uses $)
@person{qw(name age)} = ("Bob", 25);  # hash slice
my @keys = keys %person;
my @values = values %person;
while (my ($k, $v) = each %person) {
  print "$k => $v\n";
}