sub find_matching_part_entry { my( $filename, $part, $rev ) = @_; open F, "< $filename" or die "Error reading $filename: $!\n"; my @match; while () { chomp; my @fields = split /\|/; if ( $fields[0] eq $part && $fields[1] eq $rev ) { @match = @fields; } } close F; return @match; } my @matching_entry = find_matching_part_entry( "fai.txt", $part, $rev ); if ( @matching_entry ) { print "Found part:\n"; for ( @matching_entry ) { print "$_\n"; } } else { print "No part matching $part, rev $rev found!\n"; }