mantra2006,
I agree with others, this looks like homework. After reading a few of the 70+ other posts you have made over the last year, I am willing to give you the benefit of a doubt.
#!/usr/bin/perl
use strict;
use warnings;
my $file = $ARGV[0] or die "Usage: $0 <input_file>";
open(my $fh, '<', $file) or die "Unable to open '$file' for reading: $
+!";
my $header = <$file>;
chomp $header;
my @field = split /:/, $header;
print "What field would you like to look for?\n";
my $choice = <STDIN>;
chomp $choice;
while (<$fh>) {
chomp;
my %record;
@record{@field} = split /:/;
print "$record{$choice}\n";
}
It is untested and intentionally does not do a lot of the error checking that it should. These are tasks that you will need to do yourself.