The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl
use strict;
use warnings;
use WWW::Mailman;
use Getopt::Long;
use YAML::Tiny qw( LoadFile DumpFile Dump );

my %param = (
    config => 'mailman.yml',
    cookie => 'mailman.cookie',
);
GetOptions( \%param, 'config=s', 'cookie=s' )
    or die "Usage: $0 [ --config file ] [ --cookie file ]\n";

my $lists = LoadFile( $param{config} );
my %opt = ( cookie_file => $param{cookie} );

# actual code

# request a password reminder for all lists without a password
for my $list ( values %$lists ) {
    next if exists $list->{password};
    print "Requesting password by email for $list->{uri}\n";
    WWW::Mailman->new( %opt, %$list )->emailpw;
}