File: Helper.pm

package info (click to toggle)
libapp-cli-perl 0.313-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 252 kB
  • sloc: perl: 2,339; makefile: 7
file content (43 lines) | stat: -rw-r--r-- 671 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package App::CLI::Helper;

sub import {
  my $caller = caller;
  for (qw(commands files)) {
    *{$caller."::$_"} = *$_;
  }
}


=head3 commands()



=cut


sub commands {
    my $class = shift;
    my $dir = ref($class) ? ref($class) : $class;
    $dir =~ s{::}{/}g;
    $dir = $INC{$dir.'.pm'};
    $dir =~ s/\.pm$//;
    return sort map { ($_) = m{^\Q$dir\E/(.*)\.pm}; lc($_) } $class->files;
}

=head3 files()

return module files of subcommans of first level

=cut

sub files {
    my $class = shift;
    $class = ref($class) if ref($class);
    $class =~ s{::}{/}g;
    my $dir = $INC{$class.'.pm'};
    $dir =~ s/\.pm$//;
    return sort glob("$dir/*.pm");
}


1;