Current Path: > > usr > > share > perl5 > vendor_perl > CPAN
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
API | Directory | - | - | |
Exception | Directory | - | - | |
FTP | Directory | - | - | |
HTTP | Directory | - | - | |
Kwalify | Directory | - | - | |
LWP | Directory | - | - | |
Meta | Directory | - | - | |
Plugin | Directory | - | - | |
Admin.pm | File | 7780 bytes | June 03 2025 14:32:20. | |
Author.pm | File | 6842 bytes | June 03 2025 14:32:20. | |
Bundle.pm | File | 9826 bytes | June 03 2025 14:32:20. | |
CacheMgr.pm | File | 7664 bytes | June 03 2025 14:32:20. | |
Complete.pm | File | 6023 bytes | June 03 2025 14:32:20. | |
Debug.pm | File | 2102 bytes | June 03 2025 14:32:20. | |
DeferredCode.pm | File | 189 bytes | June 03 2025 14:32:20. | |
Distribution.pm | File | 163814 bytes | June 03 2025 14:32:20. | |
Distroprefs.pm | File | 11990 bytes | June 03 2025 14:32:20. | |
Distrostatus.pm | File | 972 bytes | June 03 2025 14:32:20. | |
FTP.pm | File | 42624 bytes | June 03 2025 14:32:20. | |
FirstTime.pm | File | 71980 bytes | June 03 2025 14:32:20. | |
HandleConfig.pm | File | 23301 bytes | June 03 2025 14:32:20. | |
Index.pm | File | 22216 bytes | June 03 2025 14:32:20. | |
InfoObj.pm | File | 6909 bytes | June 03 2025 14:32:20. | |
Kwalify.pm | File | 3428 bytes | June 03 2025 14:32:20. | |
Meta.pm | File | 30272 bytes | August 18 2016 16:10:32. | |
Mirrors.pm | File | 16695 bytes | June 03 2025 14:32:20. | |
Module.pm | File | 22390 bytes | June 03 2025 14:32:20. | |
Nox.pm | File | 953 bytes | June 03 2025 14:32:20. | |
Plugin.pm | File | 3215 bytes | June 03 2025 14:32:20. | |
Prompt.pm | File | 567 bytes | June 03 2025 14:32:20. | |
Queue.pm | File | 6942 bytes | June 03 2025 14:32:20. | |
Shell.pm | File | 73605 bytes | June 03 2025 14:32:20. | |
Tarzip.pm | File | 16715 bytes | June 03 2025 14:32:20. | |
URL.pm | File | 588 bytes | June 03 2025 14:32:20. | |
Version.pm | File | 4398 bytes | June 03 2025 14:32:20. |
# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*- # vim: ts=4 sts=4 sw=4: package CPAN::Complete; use strict; @CPAN::Complete::ISA = qw(CPAN::Debug); # Q: where is the "How do I add a new command" HOWTO? # A: git log -p -1 355c44e9caaec857e4b12f51afb96498833c3e36 where andk added the report command @CPAN::Complete::COMMANDS = sort qw( ? ! a b d h i m o q r u autobundle bye clean cvs_import dump exit failed force fforce hosts install install_tested is_tested look ls make mkmyconfig notest perldoc quit readme recent recompile reload report reports scripts smoke test upgrade ); use vars qw( $VERSION ); $VERSION = "5.5001"; package CPAN::Complete; use strict; sub gnu_cpl { my($text, $line, $start, $end) = @_; my(@perlret) = cpl($text, $line, $start); # find longest common match. Can anybody show me how to peruse # T::R::Gnu to have this done automatically? Seems expensive. return () unless @perlret; my($newtext) = $text; for (my $i = length($text)+1;;$i++) { last unless length($perlret[0]) && length($perlret[0]) >= $i; my $try = substr($perlret[0],0,$i); my @tries = grep {substr($_,0,$i) eq $try} @perlret; # warn "try[$try]tries[@tries]"; if (@tries == @perlret) { $newtext = $try; } else { last; } } ($newtext,@perlret); } #-> sub CPAN::Complete::cpl ; sub cpl { my($word,$line,$pos) = @_; $word ||= ""; $line ||= ""; $pos ||= 0; CPAN->debug("word [$word] line[$line] pos[$pos]") if $CPAN::DEBUG; $line =~ s/^\s*//; if ($line =~ s/^((?:notest|f?force)\s*)//) { $pos -= length($1); } my @return; if ($pos == 0 || $line =~ /^(?:h(?:elp)?|\?)\s/) { @return = grep /^\Q$word\E/, @CPAN::Complete::COMMANDS; } elsif ( $line !~ /^[\!abcdghimorutl]/ ) { @return = (); } elsif ($line =~ /^a\s/) { @return = cplx('CPAN::Author',uc($word)); } elsif ($line =~ /^ls\s/) { my($author,$rest) = $word =~ m|([^/]+)/?(.*)|; @return = $rest ? () : map {"$_/"} cplx('CPAN::Author',uc($author||"")); if (0 && 1==@return) { # XXX too slow and even wrong when there is a * already @return = grep /^\Q$word\E/, map {"$author/$_->[2]"} CPAN::Shell->expand("Author",$author)->ls("$rest*","2"); } } elsif ($line =~ /^b\s/) { CPAN::Shell->local_bundles; @return = cplx('CPAN::Bundle',$word); } elsif ($line =~ /^d\s/) { @return = cplx('CPAN::Distribution',$word); } elsif ($line =~ m/^( [mru]|make|clean|dump|get|test|install|readme|look|cvs_import|perldoc|recent )\s/x ) { if ($word =~ /^Bundle::/) { CPAN::Shell->local_bundles; } @return = (cplx('CPAN::Module',$word),cplx('CPAN::Bundle',$word)); } elsif ($line =~ /^i\s/) { @return = cpl_any($word); } elsif ($line =~ /^reload\s/) { @return = cpl_reload($word,$line,$pos); } elsif ($line =~ /^o\s/) { @return = cpl_option($word,$line,$pos); } elsif ($line =~ m/^\S+\s/ ) { # fallback for future commands and what we have forgotten above @return = (cplx('CPAN::Module',$word),cplx('CPAN::Bundle',$word)); } else { @return = (); } return @return; } #-> sub CPAN::Complete::cplx ; sub cplx { my($class, $word) = @_; if (CPAN::_sqlite_running()) { $CPAN::SQLite->search($class, "^\Q$word\E"); } my $method = "id"; $method = "pretty_id" if $class eq "CPAN::Distribution"; sort grep /^\Q$word\E/, map { $_->$method() } $CPAN::META->all_objects($class); } #-> sub CPAN::Complete::cpl_any ; sub cpl_any { my($word) = shift; return ( cplx('CPAN::Author',$word), cplx('CPAN::Bundle',$word), cplx('CPAN::Distribution',$word), cplx('CPAN::Module',$word), ); } #-> sub CPAN::Complete::cpl_reload ; sub cpl_reload { my($word,$line,$pos) = @_; $word ||= ""; my(@words) = split " ", $line; CPAN->debug("word[$word] line[$line] pos[$pos]") if $CPAN::DEBUG; my(@ok) = qw(cpan index); return @ok if @words == 1; return grep /^\Q$word\E/, @ok if @words == 2 && $word; } #-> sub CPAN::Complete::cpl_option ; sub cpl_option { my($word,$line,$pos) = @_; $word ||= ""; my(@words) = split " ", $line; CPAN->debug("word[$word] line[$line] pos[$pos]") if $CPAN::DEBUG; my(@ok) = qw(conf debug); return @ok if @words == 1; return grep /^\Q$word\E/, @ok if @words == 2 && length($word); if (0) { } elsif ($words[1] eq 'index') { return (); } elsif ($words[1] eq 'conf') { return CPAN::HandleConfig::cpl(@_); } elsif ($words[1] eq 'debug') { return sort grep /^\Q$word\E/i, sort keys %CPAN::DEBUG, 'all'; } } 1;
SILENT KILLER Tool