#!perl -w use strict; my $tokens = "32,15,4,72,13,28,14"; my @ranking = split (/,/, $tokens); my $default = $ranking[$#ranking]; # last token while (my $list = ) { chomp $list; my %list = map {$_ => 1} split /,/, $list; my $best = ( grep {$list{$_}} @ranking )[0] || $default; print "$best\n"; } __DATA__ 4,13,15 4,50,15,13 50,60,70