summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/bin/corelist.bat
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/bin/corelist.bat')
-rwxr-xr-xMaster/tlpkg/tlperl/bin/corelist.bat288
1 files changed, 0 insertions, 288 deletions
diff --git a/Master/tlpkg/tlperl/bin/corelist.bat b/Master/tlpkg/tlperl/bin/corelist.bat
deleted file mode 100755
index f0cc991ff10..00000000000
--- a/Master/tlpkg/tlperl/bin/corelist.bat
+++ /dev/null
@@ -1,288 +0,0 @@
-@rem = '--*-Perl-*--
-@echo off
-if "%OS%" == "Windows_NT" goto WinNT
-perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto endofperl
-:WinNT
-perl -x -S %0 %*
-if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
-if %errorlevel% == 9009 echo You do not have Perl in your PATH.
-if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
-goto endofperl
-@rem ';
-#!/usr/bin/perl
-#line 15
-
-=head1 NAME
-
-corelist - a commandline frontend to Module::CoreList
-
-=head1 DESCRIPTION
-
-See L<Module::CoreList> for one.
-
-=head1 SYNOPSIS
-
- corelist -v
- corelist [-a|-d] <ModuleName> | /<ModuleRegex>/ [<ModuleVersion>] ...
- corelist [-v <PerlVersion>] [ <ModuleName> | /<ModuleRegex>/ ] ...
-
-=head1 OPTIONS
-
-=over
-
-=item -a
-
-lists all versions of the given module (or the matching modules, in case you
-used a module regexp) in the perls Module::CoreList knows about.
-
- corelist -a utf8
-
- utf8 was first released with perl 5.006
- 5.006 undef
- 5.006001 undef
- 5.006002 undef
- 5.007003 1.00
- 5.008 1.00
- 5.008001 1.02
- 5.008002 1.02
- 5.008003 1.02
- 5.008004 1.03
- 5.008005 1.04
- 5.008006 1.04
- 5.008007 1.05
- 5.008008 1.06
- 5.009 1.02
- 5.009001 1.02
- 5.009002 1.04
- 5.009003 1.06
-
-=item -d
-
-finds the first perl version where a module has been released by
-date, and not by version number (as is the default).
-
-=item -? or -help
-
-help! help! help! to see more help, try --man.
-
-=item -man
-
-all of the help
-
-=item -v
-
-lists all of the perl release versions we got the CoreList for.
-
-If you pass a version argument (value of C<$]>, like C<5.00503> or C<5.008008>),
-you get a list of all the modules and their respective versions.
-(If you have the C<version> module, you can also use new-style version numbers,
-like C<5.8.8>.)
-
-In module filtering context, it can be used as Perl version filter.
-
-=back
-
-As a special case, if you specify the module name C<Unicode>, you'll get
-the version number of the Unicode Character Database bundled with the
-requested perl versions.
-
-=cut
-
-use Module::CoreList;
-use Getopt::Long;
-use Pod::Usage;
-use strict;
-use warnings;
-
-my %Opts;
-
-GetOptions(\%Opts, qw[ help|?! man! v|version:f a! d ] );
-
-pod2usage(1) if $Opts{help};
-pod2usage(-verbose=>2) if $Opts{man};
-
-if(exists $Opts{v} ){
- if( !$Opts{v} ) {
- print "\nModule::CoreList has info on the following perl versions:\n";
- print "$_\n" for sort keys %Module::CoreList::version;
- print "\n";
- exit 0;
- }
-
- $Opts{v} = numify_version( $Opts{v} );
- my $version_hash = Module::CoreList->find_version($Opts{v});
- if( !$version_hash ) {
- print "\nModule::CoreList has no info on perl v$Opts{v}\n\n";
- exit 1;
- }
-
- if ( !@ARGV ) {
- print "\nThe following modules were in perl v$Opts{v} CORE\n";
- print "$_ ", $version_hash->{$_} || " ","\n"
- for sort keys %$version_hash;
- print "\n";
- exit 0;
- }
-}
-
-if ( !@ARGV ) {
- pod2usage(0);
-}
-
-while (@ARGV) {
- my ($mod, $ver);
- if ($ARGV[0] =~ /=/) {
- ($mod, $ver) = split /=/, shift @ARGV;
- } else {
- $mod = shift @ARGV;
- $ver = (@ARGV && $ARGV[0] =~ /^\d/) ? shift @ARGV : "";
- }
-
- if ($mod !~ m|^/(.*)/([imosx]*)$|) { # not a regex
- module_version($mod,$ver);
- } else {
- my $re;
- eval { $re = $2 ? qr/(?$2)($1)/ : qr/$1/; }; # trap exceptions while building regex
- if ($@) {
- # regex errors are usually like 'Quantifier follow nothing in regex; marked by ...'
- # then we drop text after ';' to shorten message
- my $errmsg = $@ =~ /(.*);/ ? $1 : $@;
- warn "\n$mod is a bad regex: $errmsg\n";
- next;
- }
- my @mod = Module::CoreList->find_modules($re);
- if (@mod) {
- module_version($_, $ver) for @mod;
- } else {
- $ver |= '';
- print "\n$mod $ver has no match in CORE (or so I think)\n";
- }
-
- }
-}
-
-exit();
-
-sub module_version {
- my($mod,$ver) = @_;
-
- if ( $Opts{v} ) {
- my $version_hash = Module::CoreList->find_version($Opts{v});
- if ($version_hash) {
- print $mod, " ", $version_hash->{$mod} || 'undef', "\n";
- return;
- }
- else { die "Shouldn't happen" }
- }
-
- my $ret = $Opts{d}
- ? Module::CoreList->first_release_by_date(@_)
- : Module::CoreList->first_release(@_);
- my $msg = $mod;
- $msg .= " $ver" if $ver;
-
- if( defined $ret ) {
- $msg .= " was ";
- $msg .= "first " unless $ver;
- $msg .= "released with perl $ret"
- } else {
- $msg .= " was not in CORE (or so I think)";
- }
-
- print "\n",$msg,"\n";
-
- if(defined $ret and exists $Opts{a} and $Opts{a}){
- for my $v(
- sort keys %Module::CoreList::version ){
-
- printf " %-10s %-10s\n",
- $v,
- $Module::CoreList::version{$v}{$mod}
- || 'undef'
- if exists $Module::CoreList::version{$v}{$mod};
- }
- print "\n";
- }
-}
-
-sub numify_version {
- my $ver = shift;
- if ($ver =~ /\..+\./) {
- eval { require version ; 1 }
- or die "You need to install version.pm to use dotted version numbers\n";
- $ver = version->new($ver)->numify;
- }
- $ver += 0;
- return $ver;
-}
-
-=head1 EXAMPLES
-
- $ corelist File::Spec
-
- File::Spec was first released with perl 5.005
-
- $ corelist File::Spec 0.83
-
- File::Spec 0.83 was released with perl 5.007003
-
- $ corelist File::Spec 0.89
-
- File::Spec 0.89 was not in CORE (or so I think)
-
- $ corelist File::Spec::Aliens
-
- File::Spec::Aliens was not in CORE (or so I think)
-
- $ corelist /IPC::Open/
-
- IPC::Open2 was first released with perl 5
-
- IPC::Open3 was first released with perl 5
-
- $ corelist /MANIFEST/i
-
- ExtUtils::Manifest was first released with perl 5.001
-
- $ corelist /Template/
-
- /Template/ has no match in CORE (or so I think)
-
- $ corelist -v 5.8.8 B
-
- B 1.09_01
-
- $ corelist -v 5.8.8 /^B::/
-
- B::Asmdata 1.01
- B::Assembler 0.07
- B::Bblock 1.02_01
- B::Bytecode 1.01_01
- B::C 1.04_01
- B::CC 1.00_01
- B::Concise 0.66
- B::Debug 1.02_01
- B::Deparse 0.71
- B::Disassembler 1.05
- B::Lint 1.03
- B::O 1.00
- B::Showlex 1.02
- B::Stackobj 1.00
- B::Stash 1.00
- B::Terse 1.03_01
- B::Xref 1.01
-
-=head1 COPYRIGHT
-
-Copyright (c) 2002-2007 by D.H. aka PodMaster
-
-Currently maintained by the perl 5 porters E<lt>perl5-porters@perl.orgE<gt>.
-
-This program is distributed under the same terms as perl itself.
-See http://perl.org/ or http://cpan.org/ for more info on that.
-
-=cut
-
-__END__
-:endofperl