use strict; use warnings; my (@names, $f, %names); chomp (@names = ); for (@names) { $f = substr($_, 0, 1); push @{$names{$f}}, $_; } print join ', ', map { "$_" } sort keys %names; print "

\n\n"; for (sort keys %names) { print "$_\n

\n\n"; } __DATA__ Alvin Clarissa Kappa Bob Bubba Zim