Improved PAR support
[catagits/Catalyst-Runtime.git] / lib / Module / Install / Catalyst.pm
index ae74ca2..22efcda 100644 (file)
@@ -145,13 +145,13 @@ sub _catalyst_par {
 
     # Check for PAR
     eval "use PAR ()";
-    die "Please install PAR" if $@;
+    die "Please install PAR\n" if $@;
     eval "use PAR::Packer ()";
-    die "Please install PAR::Packer" if $@;
+    die "Please install PAR::Packer\n" if $@;
     eval "use App::Packer::PAR ()";
-    die "Please install App::Packer::PAR" if $@;
+    die "Please install App::Packer::PAR\n" if $@;
     eval "use Module::ScanDeps ()";
-    die "Please install Module::ScanDeps" if $@;
+    die "Please install Module::ScanDeps\n" if $@;
 
     my $root = $FindBin::Bin;
     my $path = File::Spec->catfile( 'blib', 'lib', split( '::', $self->name ) );
@@ -169,15 +169,16 @@ sub _catalyst_par {
     my $version = $Catalyst::VERSION;
     my $class   = $self->name;
 
+    my $script_file    = IO::File->new("< $script");
+    my $script_content = do { local $/; <$script_file> };
+
     my $classes = '';
     $classes .= "    require $_;\n" for @Catalyst::Module::Install::CLASSES;
-    my $tmp_file = IO::File->new(" > $par_pl ");
+    my $tmp_file = IO::File->new("> $par_pl ");
     print $tmp_file <<"EOF";
 require lib;
 if (\$0 !~ /par.pl\.\\w+\$/) {
-    import lib '../lib';
-    require FindBin;
-    require "\$FindBin::Bin/script/$script";
+$script_content
 }
 else {
     import lib 'lib';