my %name_for; while (<>) { my ($name, @aliases) = split; $name_for{$_}=$name for ($name,@aliases); } #### my $foo = 'alias1:blah1'; $foo =~ s/(\w+)/$name_for{$1}/g;