Devel-ModInfo

 view release on metacpan or  search on metacpan

modinfo2embpod.PL  view on Meta::CPAN

use Config;
use File::Basename qw(basename dirname);
chdir(dirname($0));
($file = basename($0)) =~ s/\.PL$//;
$file =~ s/\.pl$//
	if ($Config{'osname'} eq 'VMS' or
	    $Config{'osname'} eq 'OS2');  # "case-forgiving"
open OUT,">$file" or die "Can't create $file: $!";
chmod(0755, $file);
print "Extracting $file (with variable substitutions)\n";

print OUT <<"!GROK!THIS!";
#!$^X -w

!GROK!THIS!

foreach my $dir (@INC) {
    print OUT qq{use lib '$dir';\n};
}

print OUT <<'!NO!SUBS!';

$| = 1;

use Template;
use Devel::ModInfo;
use Devel::ModInfo::Util;

use Getopt::Std;
use Pod::Usage;
use IO::File;
use File::Spec::Functions 'canonpath';
use File::Find;
use File::Path;
use File::Copy 'cp';
use File::Basename 'dirname';
use FindBin;

my $curr_inc_dir;
my @file_list;
my @dirs_to_make;
my %opts;
getopts('hrfm:d:', \%opts);

if ($opts{h}) {pod2usage(-verbose => 2)}
if (!$opts{m} && !$opts{r}) {pod2usage(-verbose=> 2, -message => "Must provide a module name using -m package or specify recurse using -r")}

my $base_dir = canonpath($opts{d});
$base_dir ||= "./";

use constant INPUT => 'modinfo2embpod.tt';

if ($opts{r}) {
	foreach my $inc_dir ('.') {
		$curr_inc_dir = $inc_dir;
		find(\&proc_file, $inc_dir);
	}
	foreach my $file_path (@file_list) {
		process($file_path);
	}
}
else {
	my $base_class = $opts{m};
	process($base_class);
}

print STDERR "Finished\n";

sub proc_file {



( run in 1.404 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )