App-DistUtils
view release on metacpan or search on metacpan
script/pwd2mod view on Meta::CPAN
#!perl
use 5.010;
use strict;
use warnings;
#use App::DistUtils;
use Perinci::CmdLine::Any;
our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-05-20'; # DATE
our $DIST = 'App-DistUtils'; # DIST
our $VERSION = '0.154'; # VERSION
our %SPEC;
$SPEC{pwd2mod} = {
v => 1.1,
summary => 'Try to guess/extract module name from current directory',
description => <<'_',
Will return `.` if module name cannot be guessed.
_
args => {
},
result_naked => 1,
};
sub pwd2mod {
my %args = @_;
my $cwd = $ENV{PWD} // do { require Cwd; Cwd::cwd() };
$cwd =~ s!.+[/\\]!!;
$cwd =~ s/^(perl5?|cpan|p5?|pl)-//;
$cwd =~ s/-/::/g;
$cwd =~ /\A\w+(::\w+)*\z/ ? $cwd : ".";
}
Perinci::CmdLine::Any->new(
url => "/main/pwd2mod",
)->run;
# ABSTRACT: Try to guess/extract module name from current directory
# PODNAME: pwd2mod
__END__
=pod
=encoding UTF-8
=head1 NAME
pwd2mod - Try to guess/extract module name from current directory
=head1 VERSION
This document describes version 0.154 of pwd2mod (from Perl distribution App-DistUtils), released on 2023-05-20.
=head1 SYNOPSIS
% pwd
/home/ujang/proj/perl-Foo-Bar
% pwd2mod
Foo::Bar
=head1 DESCRIPTION
Will return C<.> if module name cannot be guessed.
=head1 OPTIONS
C<*> marks required options.
=head2 Configuration options
=over
=item B<--config-path>=I<s>, B<-c>
Set path to configuration file.
Can actually be specified multiple times to instruct application to read from
multiple configuration files (and merge them).
=item B<--config-profile>=I<s>, B<-P>
Set configuration profile to use.
A single configuration file can contain profiles, i.e. alternative sets of
values that can be selected. For example:
[profile=dev]
username=foo
pass=beaver
[profile=production]
username=bar
pass=honey
When you specify C<--config-profile=dev>, C<username> will be set to C<foo> and
C<password> to C<beaver>. When you specify C<--config-profile=production>,
C<username> will be set to C<bar> and C<password> to C<honey>.
=item B<--no-config>, B<-C>
Do not use any configuration file.
If you specify C<--no-config>, the application will not read any configuration
file.
=back
=head2 Environment options
=over
=item B<--no-env>
Do not read environment for default options.
If you specify C<--no-env>, the application wil not read any environment
variable.
=back
( run in 0.553 second using v1.01-cache-2.11-cpan-39bf76dae61 )