Great news! I used the function from yesterdays post in a production script today. the script searches a log file on a 60 min basis and grab usernames and passwords, removes the dupes and enters the usernames and passwords to another system.
#! /usr/bin/perl -w use strict; sub uniq{ my %temp_hash = map { $_, 0 } @_; return keys %temp_hash; } my @raw_data = `grep ': Password mismatch (given password:' /var/log/maillog`; my @data; for (@raw_data){ my ($username, $password) = /auth: passwd-file\(([^,]+),.*given password: ([^\)]+)\)$/; if ($username && $password){ push @data, "$username\t$password"; } } @data = &uniq(@data); my @pgl = `cat /???/?????/???????`; for (@data){ chomp; my ($username, $password) = split; if (grep /^$username\s+/, @pgl){ system "/bin/moduser.pl $username $password"; } }