Running Version v5.5.1-4. Messages from Getopt::Long?

Tony Yates tony at
Sun Dec 31 09:11:01 UTC 2023

Dear MailScanner,

With thanks for the updates so far in support of moving to Exim 4.97+.

I now have v5.5.1-4 running  against Exim 4.96 before trying to move 
Exim up to 4.97.1.

MS appears to run as expected, apart from something that may have 
changed with respect to Getopt::Long.

This could have been due a version update of Getopt::Long during the 
install, as the call in MailScanner does not appear to have changed at 
all between the previous version v5.4.5-3 and this one.  The installed 
version of Getopt::Long reports as: 2.57

At MS startup and each time "ms-cron HOURLY" runs, the following output 

	Duplicate specification "h|H|help" for option "h"
	Duplicate specification "v|V|version|Version" for option "v"
	Duplicate specification "v|V|version|Version" for option "version"
	Duplicate specification "c|C|changed" for option "c"

This seems informational only and perhaps due to a change in option case handling in Getopt::long?  It did not happen under MS v5.4.5-3.

As re-directing the cron output to null does not seem like a very attractive solution in case something important is missed I have been looking at the Getopt::Long call in /usr/sbin/MailScanner itself.

Either modifying the lines (at/below line 172 in MailScanner):

"h|H|help"            => \$WantHelp,
"v|V|version|Version" => \$Versions,
"c|C|changed"         => \$WantChangedOnly,

to remove duplication, something like

"help"            => \$WantHelp,
"v|version" => \$Versions,
"changed"         => \$WantChangedOnly,

which still basically retain the original functionality,

or modifying the use statement at line 86 in MailScanner:

use Getopt::Long;
use Getopt::Long qw(:config no_ignore_case);

seem to work.

Whether either change option breaks anything else I do not know?

I'm running with the "use" statement change currently, but hoping that a proper solution exists?


A Happy 2024 to all.




Tony Yates                                        tony at

More information about the MailScanner mailing list