Module-License-Report
view release on metacpan or search on metacpan
lib/Module/License/Report/CPANPLUSModule.pm view on Meta::CPAN
{
my $content = File::Slurp::read_file($filename);
if ($content =~ m/=head\d\s+(?:licen[cs]e|licensing|copyright|legal)\b(.*?)(=head\\d.*|=cut.*|)\z/ixms)
{
my $licensetext = $1;
# Check for any of the following phrases (Change spaces to \s+)
my @phrases = (
'under the same (?:terms|license) as Perl itself',
);
my $regex = join q{|}, map {join '\\s+', split m/\s+/xms, $_} @phrases;
if ($licensetext =~ m/$regex/ixms)
{
return 'perl';
}
}
}
}
return undef; ## no critic needs an explicit undef because of list context
}
lib/Module/License/Report/CPANPLUSModule.pm view on Meta::CPAN
if (-f $filename)
{
my $buildfile = File::Slurp::read_file($filename);
# Get main file from the Module::Build constructor
if ($buildfile =~ m/([\'\"]?)module_name\1\s*(?:=>|,)\s*(\"[^\"]+|\'[^\']+)/xms)
{
my $module_name = substr $2, 1; # remove leading quote
# This algorithm comes from Module::Build::Base::dist_version() v0.27_02
my $file = File::Spec->catfile('lib', split m/::/xms, $module_name) . '.pm';
$self->{buildfile}->{version_from} = $file;
}
elsif ($buildfile =~ m/([\'\"]?)dist_version_from\1\s*(?:=>|,)\s*(\"[^\"]+|\'[^\']+)/xms)
{
my $module_file = substr $2, 1; # remove leading quote
$self->{buildfile}->{version_from} = $module_file;
}
}
}
( run in 0.555 second using v1.01-cache-2.11-cpan-71847e10f99 )