use ExtUtils::Installed; use List::Util qw/max/; my $inst = ExtUtils::Installed->new; my %h = map { ( $_, $inst->version($_) || 'undef' ) } $inst->modules; my $max = max map length, keys %h ; for ( sort keys %h ) { printf "%-${max}s %s\n", $_, $h{$_}; }