CLI-Simple
view release on metacpan or search on metacpan
bin/create-modulino view on Meta::CPAN
-m, --module module name
-b, --bindir executable directory
-d, --destdir optional prefix for installation
-a, --alias alias or symbolic link name
Example:
create-modulino.pl -b /usr/local/bin -a find-requires -m Module::ScanDeps::FindRequires
END_OF_USAGE
return 0;
}
########################################################################
sub main {
########################################################################
my @option_specs = qw(
bindir=s
destdir=s
alias=s
module=s
help
);
my %options;
GetOptions( \%options, @option_specs );
my $module = $options{module};
if ( $options{help} ) {
exit usage();
}
die "--module is a require option\n"
if !$module;
my $path = which 'modulino';
die "no path to modulino\n"
if !$path;
my $executable_path = dirname $path;
my $bindir = $options{bindir} // $executable_path;
my $destdir = $options{destdir} // q{};
my $alias = $options{alias};
my $modulino_name = create_modulino_name( $options{module} );
my $modulino_path = sprintf '%s%s/%s', $destdir, $bindir, $modulino_name;
if ( -e "$modulino_path" ) {
unlink "$modulino_path";
}
copy( $path, "$modulino_path" );
chmod oct('0755'), "$modulino_path";
if ($alias) {
symlink "$modulino_path", "$destdir$bindir/$alias";
}
return 0;
}
exit main();
1;
( run in 0.659 second using v1.01-cache-2.11-cpan-39bf76dae61 )