Acme-ReturnValue
view release on metacpan or search on metacpan
lib/Acme/ReturnValue.pm view on Meta::CPAN
return if $rv =~ /^__PACKAGE__->meta->make_immutable/;
$rv = decode_utf8($rv);
my $data = {
'file' => $filename,
'package' => $this_package,
'PPI' => ref $match,
};
my @bad = map { 'PPI::Statement::'.$_} qw(Sub Variable Compound Package Scheduled Include Sub);
if (any { ref($match) eq $_ } @bad) {
$data->{'bad'}=$rv;
push(@{$self->bad},$data);
}
elsif ($rv =~ /^('|"|\d|qw|qq|q|!|~)/) {
$data->{'value'}=$rv;
push(@{$self->interesting},$data);
}
else {
lib/Acme/ReturnValue/MakeSite.pm view on Meta::CPAN
<p class="content">
All cool values, sorted by number of occurence in the CPAN.
</p>
<table>
<tr><td>Count</td><td>Return value</td><td>Packages</td></tr>
EOBADINTRO
my $cnt=1;
foreach my $rv (
map { $_->[1] }
sort { $b->[0] <=> $a->[0] }
map { [scalar @{$dists->{$_}},$_] } keys %$dists) {
push(@print,$self->_html_cool_value($rv,$dists->{$rv},'cv_'.$cnt++));
}
push(@print,"<table>");
push(@print,$self->_html_footer);
$out->spew(iomode => '>:encoding(UTF-8)', \@print);
}
sub gen_bad_dists {
lib/Acme/ReturnValue/MakeSite.pm view on Meta::CPAN
}
return $html;
}
sub _html_cool_value {
my ($self, $value, $report, $id) = @_;
my $html;
my $count = @$report;
$html = qq[<tr><td>$count</td><td>$value</td><td><a href="javascript:void(0)" onclick="] . q[$('#]. $id. q[').toggle()">show</td></td></tr>].
qq[<tr id='$id' style='display:none' ><td></td><td colspan=2>];
$html .= join("<br>\n",map { $self->_link_search_package($_->{package}) } sort { $a->{package} cmp $b->{package} } @$report);
$html .= "</td></tr>";
return $html;
}
sub _html_bad_dist {
my ($self, $dist,$report) = @_;
my $html;
foreach my $ele (@$report) {
my $val=$ele->{'bad'} || '';
t/00-compile.t view on Meta::CPAN
use IO::Handle;
open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
my @warnings;
for my $lib (@module_files)
{
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} }
$^X, @switches, '-e', "require q[$lib]"))
if $ENV{PERL_COMPILE_TEST_DEBUG};
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]");
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$lib loaded ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
t/00-compile.t view on Meta::CPAN
my $line = <$fh>;
close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/;
@switches = (@switches, split(' ', $1)) if $1;
close $fh and skip("$file uses -T; not testable with PERL5LIB", 1)
if grep { $_ eq '-T' } @switches and $ENV{PERL5LIB};
my $stderr = IO::Handle->new;
diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} }
$^X, @switches, '-c', $file))
if $ENV{PERL_COMPILE_TEST_DEBUG};
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-c', $file);
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$file compiled ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
( run in 1.457 second using v1.01-cache-2.11-cpan-140bd7fdf52 )