Dist-Zilla-Plugin-AbstractFromPOD
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/AbstractFromPOD.pm view on Meta::CPAN
use English qw( -no_match_vars );
use File::Spec::Functions qw( catfile );
with 'Dist::Zilla::Role::BeforeBuild';
sub before_build {
my $self = shift;
my $name = $self->zilla->name;
my $class = $name; $class =~ s{ [\-] }{::}gmx;
my $file = $self->zilla->_main_module_override
|| catfile( 'lib', split m{ [\-] }mx, "${name}.pm" );
$file or die 'No main module specified';
-f $file or die "Path ${file} does not exist or not a file";
open my $fh, '<', $file or die "File ${file} cannot open: ${OS_ERROR}";
my $content = do { local $RS; <$fh> }; $fh->close;
my ($abstract) = $content
=~ m{ =head1 \s+ Name \s* [\n] \s* $class \s* [\-] \s* ([^\n]+) }imsx;
$abstract or die "File ${file} contains no abstract";
t/01always_pass.t view on Meta::CPAN
use Sys::Hostname;
my $osname = lc $^O; my $host = lc hostname;
sub diag_version {
my ($module, $version) = @_;
defined $version or $version = eval "require $module; $module->VERSION";
defined $version or return warn sprintf " %-30s undef\n", $module;
my ($major, $rest) = split m{ \. }mx, $version;
return warn sprintf " %-30s % 4d.%s\n", $module, $major, $rest;
}
sub diag_env {
my $var = shift;
return warn sprintf " \$%-30s %s\n", $var, exists $ENV{ $var }
? $ENV{ $var } : 'undef';
}
( run in 1.916 second using v1.01-cache-2.11-cpan-71847e10f99 )