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