#!/usr/bin/perl $mailaliases = "$ENV{HOME}/.mail_aliases"; $sortcolum = 1; $grepstring = $ARGV[0]; open (MAILALIASES, $mailaliases) || die "Can't open $mailaliases"; $found = 0; while ( $line = ) { if ( $line =~ /$grepstring/ && $line !~ /,/ ) { chomp($line); $line =~ s/(\S+@\S+)//; $email = $1; $line =~ s/^\w+\s+(\w+)\s+//; $alias = $1; $line =~ s/(\(|\))//g; $realname = $line; $found++; push @matches, "$email \t $realname \t alias $alias\n"; } } print "$found matches found\n"; print sort flex @matches; sub flex { @value_a = split /\s+/ , $a; @value_b = split /\s+/ , $b; $value_a[$sortcolum] cmp $value_b[$sortcolum]; }