#!/usr/bin/perl -w
use strict;
use Data::Dumper;
use diagnostics -verbose;
use constant PART => 0;
use constant REV => 1;
print "Enter the Part Number you wish to search for: ";
my $part = <STDIN>;
chomp $part;
print "Enter the Revision for ($part): ";
my $rev = <STDIN>;
chomp $rev;
my $searchresult = search( part => $part,
rev => $rev,
filename => './file.db',
);
print ref $searchresult
? "Located Part Number: @{[join ':', @$searchresult ]}\n"
: "Your Part Number ($part) Rev ($rev) could not be found....\n";
sub search {
my %args = @_;
my $retval;
local *PARTS_DB;
open PARTS_DB, $args{filename} or die "Cannot open file $args{fil
+ename}: $!";
while (my $record = <PARTS_DB>) {
chomp $record;
my @record = split /\|/, $record;
next unless $record[PART] eq $args{part}
and $record[REV] eq $args{rev};
close PARTS_DB or die "Can't close PARTS_DB $args{filename}:
+$!";
return \ @record;
}
}
|