while ( my $user = getpwent() ) { $users{$user} = 1; } while ( my $group = getgrent() ) { $groups{$group} = 1; } open (my $fh, '>>', '/var/log/httpd/fudge.log'); print $fh Fudge(); close $fh; sub Fudge { use Errno(); join qq/\n/, "Error @_", map { " $_" } int( $! ) . q/ / . $!, int( $^E ) . q/ / . $^E, grep( { $!{$_} } keys %! ), q/ /; }