use File::Find;
use File::Slurp 'slurp';
use List::MoreUtils 'uniq';
+use autodie;
-unlink 'lib/Mouse/Tiny.pm';
+unlink 'lib/Mouse/Tiny.pm'
+ if -e 'lib/Mouse/Tiny.pm';
my @files;
find({
- wanted => sub { push @files, $_ if -f $_ && !/Squirrel|\.sw[po]$/ },
+ wanted => sub {
+ push @files, $_
+ if -f $_
+ && !/Squirrel/
+ && !/TypeRegistory/
+ && !/\bouse/
+ && !/\.sw[po]$/
+ },
no_chdir => 1,
}, 'lib');
$contents =~ s/__END__\b.*//s; # remove documentation
$contents =~ s/1;\n*$//; # remove success indicator
- $contents =~ s/^.*\n//; # remove shebang
$contents =~ s/^use Mouse\S*\s*\n//mg; # we're already loading everything
$contents =~ s/^use (Mouse\S*)\s*(.+);/BEGIN { $1->import($2) }/mg;
# if regular Mouse is loaded, bail out
unless ($INC{'Mouse.pm'}) {
-eval q{
+eval <<'END_OF_TINY';
# tell Perl we already have all of the Mouse files loaded:
EOF
print { $handle } $mouse_tiny;
-print { $handle } "}; #eval\n} #unless\n\n";
+print { $handle } "END_OF_TINY\n} #unless\n\n";
print { $handle } << 'EOF';
package Mouse::Tiny;