#!/usr/bin/perl use strict; use warnings; my %lookup; for () { chomp; my ($k, $v) = split(/ -- /); $lookup{$k} = $v; } while(<>) { s/^(\w+)\b/$lookup{$1} || $1/e; print; } _ _DATA_ _ uidf2920 -- Schulz uid60124 -- Maier uidg1626 -- Muster uidg1067 -- Mueller