open INPUT, "$ENV{HOME}/flat_file"
or die $!;
my %ports;
while (my $line = ) {
chomp $line;
my ($code, $city) = split /\|/, $line;
$ports{$code} = $city
if not $ports{$code};
}
for my $key (keys %ports) {
if ($ARGV[1] =~ /$key/) {
print $ports{$key}, "\n";
}
}
close INPUT;
####
use Storable qw(retrieve);
my $ports = retrieve("$ENV{HOME}/flat_file.dat");
####
#!/usr/bin/perl
use strict;
use Getopt::Std;
my %parms;
getopts ("c:p:", \%parms);
die "Please supply a port code or city"
if not $parms{p} and not $parms{c};
use Storable qw(retrieve);
if ($parms{p}) {
$parms{p} = uc $parms{p};
my $ports_by_code = retrieve("$ENV{HOME}/flat_file_by_port");
print $ports_by_code->{$parms{p}}, "\n";
}
if ($parms{c}) {
$parms{c} = uc $parms{c};
my $ports_by_city = retrieve("$ENV{HOME}/flat_file_by_city");
print $ports_by_city->{$parms{c}}, "\n";
}