Scalars hold a single string, number, or reference. Their sigil is $:
use strict; use warnings;
my $name = "Alice";
my $age = 30;
my $pi = 3.14159;
print "$name is $age years old.\n";
Arrays are ordered lists with a @ sigil. Access individual elements with $array[index]:
my @colours = ("red", "green", "blue");
push @colours, "yellow"; # add to end
my $last = pop @colours; # remove from end
print scalar @colours, "\n"; # print count: 3
foreach my $c (@colours) {
print "$c\n";
}
Hashes are key-value stores with a % sigil. Access values with $hash{key}:
my %person = (name => "Alice", age => 30, city => "London");
$person{email} = '[email protected]'; # add a key
while (my ($key, $val) = each %person) {
print "$key: $val\n";
}
delete $person{city};
print exists $person{city} ? "yes" : "no"; # no