#!/usr/bin/env perl use strict; use warnings; my %part_nums = map { $_ => 1 } qw(3478749 3633731); while ( my $line = ) { my ($part) = split /:/, $line; print $line if exists $part_nums{$part}; } __DATA__ 3478748:AA:1D:AAA:Descriptions:C:2 3478749:AA:1D:AAA:Descriptions:C:2 3633731:AA:3E:AAA:Descriptions:C:2