summaryrefslogtreecommitdiff
path: root/helpers/perl
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gabriel@inconstante.net.br>2019-08-07 09:17:13 -0300
committerGabriel F. T. Gomes <gabriel@inconstante.net.br>2019-08-07 09:17:13 -0300
commit5732da2af736c40cf693354485446ab4867ecb4d (patch)
tree76d76cdfa16ca62d20fb109da13895ec64fff110 /helpers/perl
parent9cd22d1df8f0f5b554858471c86faa9f37b8fed4 (diff)
downloadbash-completion-5732da2af736c40cf693354485446ab4867ecb4d.tar.gz
New upstream version 2.9upstream/2.9
Diffstat (limited to 'helpers/perl')
-rw-r--r--helpers/perl30
1 files changed, 16 insertions, 14 deletions
diff --git a/helpers/perl b/helpers/perl
index 2a01a096..83ab1a10 100644
--- a/helpers/perl
+++ b/helpers/perl
@@ -15,33 +15,36 @@ sub print_modules_real {
# (the shorter being the pattern to be used as the regexp)
# word 'Fi', base 'File' -> match 'File' against 'Fi'
# word 'File::Sp', base 'File' -> match 'File::Sp' against 'File'
- return if
- $base &&
- $word &&
- $base !~ /^\Q$word/ &&
- $word !~ /^\Q$base/;
+ return
+ if $base
+ && $word
+ && $base !~ /^\Q$word/
+ && $word !~ /^\Q$base/;
chdir($dir) or return;
# print each file
- foreach my $file (sort(glob('*.pm'),glob('*.pod'))) {
+ foreach my $file (sort(glob('*.pm'), glob('*.pod'))) {
next if ($file =~ /\.pod$/ and not $include_pod);
$file =~ s/\.(?:pm|pod)$//;
my $module = $base . $file;
next if $module !~ /^\Q$word/;
next if $seen{$module}++;
- print $module . "\n";
+ print $module, "\n";
}
# recurse in each subdirectory
- foreach my $directory (grep { -d } glob('*')) {
+ foreach my $directory (grep {-d} glob('*')) {
my $subdir = $dir . '/' . $directory;
if ($directory =~ /^(?:[.\d]+|$Config{archname}|auto)$/) {
+
# exclude subdirectory name from base
print_modules_real(undef, $subdir, $word, $include_pod);
} else {
+
# add subdirectory name to base
- print_modules_real($base . $directory . '::', $subdir, $word, $include_pod);
+ print_modules_real($base . $directory . '::',
+ $subdir, $word, $include_pod);
}
}
}
@@ -60,7 +63,7 @@ sub print_functions {
my ($word) = @_;
my $perlfunc;
- for ( @INC, undef ) {
+ for (@INC, undef) {
return if not defined;
$perlfunc = catfile $_, qw( pod perlfunc.pod );
last if -r $perlfunc;
@@ -69,16 +72,16 @@ sub print_functions {
open my $fh, '<', $perlfunc or return;
my $nest_level = -1;
- while ( <$fh> ) {
+ while (<$fh>) {
next if 1 .. /^=head2 Alphabetical Listing of Perl Functions$/;
++$nest_level if /^=over/;
--$nest_level if /^=back/;
- next if $nest_level;
+ next if $nest_level;
next unless /^=item (-?\w+)/;
my $function = $1;
next if $function !~ /^\Q$word/;
next if $seen{$function}++;
- print $function . "\n";
+ print $function, "\n";
}
}
@@ -93,4 +96,3 @@ if ($type eq 'functions') {
} elsif ($type eq 'perldocs') {
print_modules($word, 1);
}
-