#!/usr/local/bin/perl
use strict;
use warnings;
use IO::File;
my $addressbook = "addressbook";
my $book = new IO::File $addressbook
or die "Cannot open $addressbook: $!\n";
my @addresses;
while (<$book>) {
chomp;
my ($fullname, $address) = split /:/;
my ($firstname, $lastname) = $fullname =~ m{(.*)\s(.*)};
push(@addresses, [$firstname, $lastname, $address]);
}
$book->close;
foreach my $address
(sort { $a->[0] cmp $b->[0] } @addresses) {
my ($firstname, $lastname, $addr) = @{$address};
printf "%-20s | %s\n",
$lastname . ", " . $firstname, $addr;
}
|