1
0
Fork 0
mirror of https://github.com/perlbot/perlbuut synced 2025-06-07 16:55:42 -04:00
perlbuut/plugins/core.pm.bak
2011-02-18 21:24:30 -05:00

60 lines
2.2 KiB
Perl

BEGIN {do Module::CoreList};
sub require {
my ($filename) = @_;
if (exists $INC{$filename}) {
return 1 if $INC{$filename};
die "Compilation failed in require";
}
my ($realfilename,$result);
ITER: {
foreach $prefix (@INC) {
$realfilename = "$prefix/$filename";
if (-f $realfilename) {
$INC{$filename} = $realfilename;
$result = do $realfilename;
last ITER;
}
}
die "Can't find $filename in \@INC";
}
if ($@) {
$INC{$filename} = undef;
die $@;
} elsif (!$result) {
delete $INC{$filename};
die "$filename did not return true value";
} else {
return $result;
}
}
sub {
my ( $said, $pm ) = @_;
my $module = $said->{recommended_args}->[0];
my $rev = Module::CoreList->first_release($module);
if ($rev) {
print "Added to perl core as of $rev";
if ( Module::CoreList->can('removed_from') ) {
my $rem = Module::CoreList->removed_from($module);
print " and removed from $rem" if $rem;
}
}
else {
my @modules = Module::CoreList->find_modules(qr/$module/);
if (@modules) {
print 'Found', scalar @modules, ':', join ',',
map { $_ . ' in ' . Module::CoreList->first_release($_) }
@modules;
}
else {
print "Module $module does not appear to be in core. Perhaps capitalization matters or try using the 'cpan' command to search for it.";
}
}
}
__DATA__
Tells you when the module you searched for was added to the Perl Core, if it was.