+my $filter_prereqs = sub {
+ my ($int, $prereqs) = @_;
+
+ my @requires;
+ for my $prereq (sort keys %$prereqs) {
+ next if $prereq =~ /^perl(?:-|\z)/;
+
+ my $obj = $int->module_tree($prereq);
+ next unless $obj; # Not in the module tree (e.g. Config)
+ next if $obj->package_is_perl_core;
+
+ my $version;
+ if ($prereqs->{$prereq}) {
+ if ($obj->installed_version && $obj->installed_version < $obj->version) {
+ $version = $obj->installed_version;
+ } else {
+ $version = $obj->package_version;
+ }
+ }
+
+ push @requires, [ $obj->package_name, $version ];
+ }
+
+ return \@requires;
+};
+