#ex_14-2
#Learning Perl Appendix A, Exercise 14.2
open(PW,"/etc/passwd");
while () {
chomp;
($user,$gcos) = (split /:/)[0,4];
($real) = split(/,/, $gcos);
$real{$user} = $real;
}
close(PW);
open(WHO,"who|") || die "cannot open who pipe";
while () {
($login, $rest) = /^(\S+)\s+(.*)/;
$login = $real{$login} if $real{$login};
printf "%-30s %s\n",$login,$rest;
}