From 016a11349a899c4384f5b66db2cd21e887a4b16b Mon Sep 17 00:00:00 2001 From: Flavio Poletti Date: Thu, 15 Oct 2015 08:10:11 +0200 Subject: [PATCH] supporting nodules (modules without __END__) --- mobundle | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mobundle b/mobundle index 7deca41..5c7aa38 100755 --- a/mobundle +++ b/mobundle @@ -31,6 +31,8 @@ GetOptions( include|I=s@ modules|module|m=s@ modules-from|M=s@ + nodules|nodule|n=s@ + nodules-from|N=s@ output|o=s standard-head|s! unbundle|u! @@ -131,12 +133,25 @@ for my $file (@{$config{'modules-from'}}) { push @{$config{modules}}, @modules; } +for my $file (@{$config{'nodules-from'}}) { + chomp(my @nodules = read_file($file)); + push @{$config{nodules}}, @nodules; +} + # Load files for explicitly requested modules my %modules = map { (my $filename = $_) =~ s{::}{/}g; $filename .= '.pm' unless $filename =~ /\./mxs; $filename => get_module_contents($filename); } @{$config{modules}}; +my %nodules = map { + (my $filename = $_) =~ s{::}{/}g; + $filename .= '.pm' unless $filename =~ /\./mxs; + my $contents = get_module_contents($filename); + $contents =~ s{^__END__\s*$ .*}{}mxs; # strip from __END__ on + $filename => $contents; +} @{$config{nodules}}; +%modules = (%nodules, %modules); # Now autoscan if requested. Already-loaded modules will be skipped if ($config{autoscan} || $config{'autoscan-list'}) { -- 2.11.4.GIT