Non so cosa ha capito Shishii del tuo problema.

Io userei le RE applicate a singole parole, non a tutta la stringa (ma e` una mia interpetazione diversa):
codice:
print OUT "The words founded in $filein are: \n";
while (<FILE> ) {
  if (/\s([0-9a-c]{16}\s)/) {
    print OUT, "$1\n";
  }
}
Nota: questo prende una sola parola per riga: se dovessero essercene di piu`, occorre modificare ancora.