[Module-build-checkins] Module-Build/inc ModuleBuildBuilder.pm,1.3,1.4
Status: Beta
Brought to you by:
kwilliams
|
From: Ken W. <kwi...@us...> - 2005-07-13 21:09:21
|
Update of /cvsroot/module-build/Module-Build/inc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26136/inc Modified Files: ModuleBuildBuilder.pm Log Message: On windows & cygwin, -i must take an argument. Index: ModuleBuildBuilder.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/inc/ModuleBuildBuilder.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ModuleBuildBuilder.pm 18 Dec 2004 21:16:07 -0000 1.3 +++ ModuleBuildBuilder.pm 13 Jul 2005 21:09:12 -0000 1.4 @@ -19,17 +19,21 @@ # Replace "<autogenerated_accessors>" with some POD lists my @need_doc = sort grep !$subs{$_}, $self->valid_properties; - $self->run_perl_command(['-pi', - '-e', - qq[s{<autogenerated_accessors>}{ join "\\n\\n", map "=item \$_()", qw(@need_doc) }e], - $authoring_pod]); + $self->do_replace(qq[s{<autogenerated_accessors>}{ join "\\n\\n", map "=item \$_()", qw(@need_doc) }e], + $authoring_pod); # Replace "<action_list>" with a list of actions my $action_text = $self->_action_listing(scalar $self->known_actions); - $self->run_perl_command(['-pi', '-e', qq[s{<action_list>}{$action_text}], $build_pm]); + $self->do_replace(qq[s{<action_list>}{$action_text}], $build_pm); # Finally, sneakily rewrite the Build.PL to use a vanilla # Module::Build object instead of a ModuleBuildBuilder. - $self->run_perl_command(['-pi', '-e', qq[BEGIN{\$/=undef} s{<remove_me>.*</remove_me>}{}gs], $build_pl]); - $self->run_perl_command(['-pi', '-e', qq[s{ModuleBuildBuilder}{Module::Build}gs], $build_pl]); + $self->do_replace(qq[BEGIN{\$/=undef} s{<remove_me>.*</remove_me>}{}gs], $build_pl); + $self->do_replace(qq[s{ModuleBuildBuilder}{Module::Build}gs], $build_pl); +} + +sub do_replace { + my ($self, $code, $file) = @_; + $self->run_perl_commane(['-pi.bak', '-e', $code, $file]); + 1 while unlink "$file.bak"; } |