$ perl -MO=Deparse -F: -lane 'push @x, $F[0] if /^[A-Z]/}{print for sort @x' BEGIN { $/ = "\n"; $\ = "\n"; } LINE: while (defined($_ = readline ARGV)) { chomp $_; our @F = split(/:/, $_, 0); push @x, $F[0] if /^[A-Z]/; } { print $_ foreach (sort @x); } #### use warnings; use strict; my @out; while (<>) { chomp; my @fields = split /:/; push @out, $fields[0] if /^[A-Z]/; } print "$_\n" for sort @out;