=head1 NAME perltodo - Perl TO-DO List =head1 DESCRIPTION This is a list of wishes for Perl. The tasks we think are smaller or easier are listed first. Anyone is welcome to work on any of these, but it's a good idea to first contact I to avoid duplication of effort. By all means contact a pumpking privately first if you prefer. Whilst patches to make the list shorter are most welcome, ideas to add to the list are also encouraged. Check the perl5-porters archives for past ideas, and any discussion about them. One set of archives may be found at: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/ What can we offer you in return? Fame, fortune, and everlasting glory? Maybe not, but if your patch is incorporated, then we'll add your name to the F file, which ships in the official distribution. How many other programming languages offer you 1 line of immortality? =head1 Tasks that only need Perl knowledge =head2 Remove duplication of test setup. Schwern notes, that there's duplication of code - lots and lots of tests have some variation on the big block of C<$Is_Foo> checks. We can safely put this into a file, change it to build an C<%Is> hash and require it. Maybe just put it into F. Throw in the handy tainting subroutines. =head2 merge common code in installperl and installman There are some common subroutines and a common C block in F and F. These should probably be merged. It would also be good to check for duplication in all the utility scripts supplied in the source tarball. It might be good to move them all to a subdirectory, but this would require careful checking to find all places that call them, and change those correctly. =head2 common test code for timed bail out Write portable self destruct code for tests to stop them burning CPU in infinite loops. This needs to avoid using alarm, as some of the tests are testing alarm/sleep or timers. =head2 POD -E HTML conversion in the core still sucks Which is crazy given just how simple POD purports to be, and how simple HTML can be. It's not actually I simple as it sounds, particularly with the flexibility POD allows for C<=item>, but it would be good to improve the visual appeal of the HTML generated, and to avoid it having any validation errors. See also L, as the layout of installation tree is needed to improve the cross-linking. The addition of C and its related modules may make this task easier to complete. =head2 merge checkpods and podchecker F (and C in the F subdirectory) implements a very basic check for pod files, but the errors it discovers aren't found by podchecker. Add this check to podchecker, get rid of checkpods and have C use podchecker. =head2 perlmodlib.PL rewrite Currently perlmodlib.PL needs to be run from a source directory where perl has been built, or some modules won't be found, and others will be skipped. Make it run from a clean perl source tree (so it's reproducible). =head2 Parallel testing (This probably impacts much more than the core: also the Test::Harness and TAP::* modules on CPAN.) The core regression test suite is getting ever more comprehensive, which has the side effect that it takes longer to run. This isn't so good. Investigate whether it would be feasible to give the harness script the B