Tidy
[gitmo/Mouse.git] / author / generate-mouse-tiny.pl
index 30777cc..0484cdb 100755 (executable)
@@ -4,13 +4,22 @@ use warnings;
 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');
 
@@ -21,7 +30,6 @@ for my $file (uniq 'lib/Mouse/Util.pm', sort @files) {
 
     $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;
@@ -32,12 +40,11 @@ for my $file (uniq 'lib/Mouse/Util.pm', sort @files) {
 open my $handle, '>lib/Mouse/Tiny.pm' or die "Can't write lib/Mouse/Tiny.pm: $!";
 
 print { $handle } << 'EOF';
-#!/usr/bin/env perl
 # THIS FILE IS AUTOGENERATED!
 
 # 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
@@ -51,7 +58,7 @@ print { $handle } "\n# and now their contents\n\n";
 
 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;