1
#line 1 "inc/Module/Install/Scripts.pm - /usr/local/lib/perl5/site_perl/5.8.0/Module/Install/Scripts.pm"
2
# $File: //depot/cpan/Module-Install/lib/Module/Install/Scripts.pm $ $Author: autrijus $
3
# $Revision: #5 $ $Change: 1517 $ $DateTime: 2003/05/15 11:41:01 $ vim: expandtab shiftwidth=4
1
#line 1 "inc/Module/Install/Scripts.pm - /usr/local/lib/perl5/site_perl/5.8.5/Module/Install/Scripts.pm"
5
2
package Module::Install::Scripts;
6
3
use Module::Install::Base; @ISA = qw(Module::Install::Base);
14
9
my ($self, $script_file) = @_;
15
my @script_lines = $self->_read_script($script_file);
10
my ($prompt, $abstract, $default);
20
for my $line (@script_lines) {
12
foreach my $line ( $self->_read_script($script_file) ) {
21
13
last unless $line =~ /^#/;
23
if $line =~ /^#\s*prompt:\s+(.*)/;
25
if $line =~ /^#\s*abstract:\s+(.*)/;
27
if $line =~ /^#\s*default:\s+(.*)/;
14
$prompt = $1 if $line =~ /^#\s*prompt:\s+(.*)/;
15
$default = $1 if $line =~ /^#\s*default:\s+(.*)/;
16
$abstract = $1 if $line =~ /^#\s*abstract:\s+(.*)/;
30
my $script_name = basename($script_file);
18
unless (defined $prompt) {
19
my $script_name = File::Basename::basename($script_file);
31
20
$prompt = "Do you want to install '$script_name'";
32
$prompt .= " ($abstract)" if $abstract;
21
$prompt .= " ($abstract)" if defined $abstract;
35
return unless $self->prompt($prompt, $default) =~ /^[Yy]/;
24
return unless $self->prompt($prompt, ($default || 'n')) =~ /^[Yy]/;
36
25
$self->install_script($script_file);
39
28
sub install_script {
40
my ($self, $script_file) = @_;
41
my @script_lines = $self->_read_script($script_file);
42
if (not -d 'inc/SCRIPTS') {
43
mkdir('inc/SCRIPTS', 0777)
44
or die "Can't make directory 'inc/SCRIPTS'";
47
my $new_script = 'inc/SCRIPTS/' . basename($script_file);
48
open SCRIPT, "> $new_script"
49
or die "Can't open '$new_script' for output: $!\n";
50
print SCRIPT $_ for @script_lines;
52
30
my $args = $self->makemaker_args;
53
my $exe_files = $args->{EXE_FILES} || [];
54
push @$exe_files, $new_script;
56
$self->makemaker_args( EXE_FILES => $exe_files );
31
my $exe_files = $args->{EXE_FILES} ||= [];