#!/usr/bin/perl use warnings; use strict; while () { chomp; my @names = map lc, split; s/\.// for @names; print join "\t", $_, lc substr($names[0], 0, 1) . $names[-1], lc join '.', @names; print "\n" } __DATA__ Max Maier Jerome Mustermann John Lee Duke Peter F. Smith