For generating passwords, you might want to take a look at spew - print out random characters, which will generate the desired number of random characters from the set of characters you choose.
Your "two weeks in the future" code could be more tightly written as:
use constant WEEK => 60 * 60 * 24 * 7; my $expiry_date = sprintf '%04d-%02d-%02d', sub { $_[5]+1900, $_[4]+1, $_[3] }->(localtime(time + 2 * WEEK));
The code to update the postfix virtual table looks possibly more complicated than it should be, but I'm not clear on your intent. What are you trying to do?
You should use Mail::Sendmail (which, despite its name, does not rely on sendmail(1)), or another mail sending module, rather than attacking the sendmail program directly. Instead of a row of print statements, you should use a heredoc:
print MAIL <<"END_OF_MAIL"; To: bar\@foo.com Reply-to: $email From: $email Subject: AP3k New User Signup Test Mail1 END_OF_MAIL
All Of The Variables Have Been Sanitised By Another Perl Script
That means nothing. You should re-sanitise them again in this script.
In reply to Re: Desperate Coding Tidy-up
by grinder
in thread Desperate Coding Tidy-up
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |