Text::Abbrev
See the current Perl documentation for Text::Abbrev.
Here is our local, out-dated (pre-5.6) version:
abbrev - create an abbreviation table from a list
use Text::Abbrev; abbrev $hashref, LIST
Stores all unambiguous truncations of each element of
LIST as keys key in the associative array referenced
to by $hashref
. The values are the original list elements.
EXAMPLE
$hashref = abbrev qw(list edit send abort gripe);
%hash = abbrev qw(list edit send abort gripe);
abbrev $hashref, qw(list edit send abort gripe);
abbrev(*hash, qw(list edit send abort gripe));