The problem appears when I use -T on the shebang but I can't explain why yet.
Update : Untaiting fixes the problem. Try this
#!/usr/bin/perl -wT
use strict;
use CGI ':standard';
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use Net::SSL::ExpireDate;
use POSIX qw(strftime);
print header;
print start_html('SSL Expire Dates');
my $t_site = param('sitename'); # change to suit
$t_site =~ s/^\s+|\s+$//;
if ( $t_site =~ /[^A-Za-z0-9.-]/ ){
print pre("Sitename [$t_site] not valid");
} else {
$t_site =~ /(.+)/;
my $sitename = $1;
print pre("Site : ".$sitename);
my $ed = Net::SSL::ExpireDate->new( https => $sitename );
if (defined $ed->expire_date) {
print pre("Expires : ".$ed->expire_date);
} else {
print pre("Expires : NOT DEFINED");
}
}
my $now = strftime "%Y-%m-%d %T", localtime;
print pre("Time now : $now");
print end_html;
poj |