This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
corelist.pl - Apply BinGOs's "First stab" at updating Utils.pm
authorSteve Hay <steve.m.hay@googlemail.com>
Thu, 19 Sep 2013 22:37:31 +0000 (23:37 +0100)
committerSteve Hay <steve.m.hay@googlemail.com>
Thu, 19 Sep 2013 23:28:58 +0000 (00:28 +0100)
This is commit bdb83d4b01.

Porting/corelist.pl

index cd73ead..6dab514 100755 (executable)
@@ -22,6 +22,7 @@ use HTTP::Tiny;
 use IO::Uncompress::Gunzip;
 
 my $corelist_file = 'dist/Module-CoreList/lib/Module/CoreList.pm';
+my $utils_file = 'dist/Module-CoreList/lib/Module/CoreList/Utils.pm';
 my $pod_file = 'dist/Module-CoreList/lib/Module/CoreList.pod';
 
 my %lines;
@@ -81,6 +82,7 @@ if ($cpan) {
     }
 }
 
+
 find(
     sub {
         /(\.pm|_pm\.PL)$/ or return;
@@ -308,6 +310,19 @@ write_corelist($pod,$pod_file);
 
 warn "All done. Please check over $corelist_file and $pod_file carefully before committing. Thanks!\n";
 
+my %utils = map { ( $_ => 1 ) } parse_utils_lst();
+
+open( my $utils_fh, '<', $utils_file );
+my $utils = join( '', <$utils_fh> );
+close $utils_fh;
+
+my $delta_utils = make_corelist_delta($perl_vnum, \%utils);
+
+use Data::Dumper; local $Data::Dumper::Indent=1;
+warn Dumper( $delta_utils );
+exit 0;
+
+write_corelist($utils,$utils_file);
 
 sub write_corelist {
     my $content = shift;
@@ -395,3 +410,20 @@ sub quote {
     $str =~ s/'/\\'/g;
     "'${str}'";
 }
+
+sub parse_utils_lst {
+  require File::Spec::Unix;
+  my @scripts;
+  open my $fh, '<', 'utils.lst' or die "$!\n";
+  while (<$fh>) {
+    chomp;
+    my ($file,$extra) = split m!#!;
+    $file =~ s!\s+!!g;
+    push @scripts, $file;
+    $extra =~ s!\s+!!g if $extra;
+    if ( $extra and my ($link) = $extra =~ m!^link=(.+?)$! ) {
+      push @scripts, $link;
+    }
+  }
+  return map { +( File::Spec::Unix->splitpath( $_ ) )[-1] } @scripts;
+}