X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=7c7dc96e3ff286fa90f67225dd83019c7c5427f3;hb=e40b81a3dd247b1a29fc78399677b77b78b5f183;hp=8626f2a9b5e43adc0d1a538a4054487c1b504e41;hpb=749904bf2195f9729fc311a9dd49d33ae8ecad02;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 8626f2a..7c7dc96 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -141,6 +141,23 @@ when is duplicated in F. Writing things twice is bad, m'kay. It would be good to teach C to understand the conditional compilation, and hence remove the duplication, and the mistakes it has caused. +=head2 use strict; and AutoLoad + +Currently if you write + + package Whack; + use AutoLoader 'AUTOLOAD'; + use strict; + 1; + __END__ + sub bloop { + print join (' ', No, strict, here), "!\n"; + } + +then C isn't in force within the autoloaded subroutines. It would +be more consistent (and less surprising) to arrange for all lexical pragmas +in force at the __END__ block to be in force within each autoloaded subroutine. + =head1 Tasks that need a little sysadmin-type knowledge Or if you prefer, tasks that you would learn from, and broaden your skills @@ -405,15 +422,6 @@ These tasks would need C knowledge, and roughly the level of knowledge of the perl API that comes from writing modules that use XS to interface to C. -=head2 shrink Cs - -By removing unused elements and careful re-ordering, the structures for Cs, -Cs, Cs and Cs have recently been shrunk considerably. Cs -probably aren't worth it, as typical programs don't use more than 8, and -(at least) C uses C/C/C on a C, -so it would mean code changes to modules on CPAN. Cs might have some -savings to win. - =head2 autovivification Make all autovivification consistent w.r.t LVALUE/RVALUE and strict/no strict; @@ -447,6 +455,11 @@ L.) Currently the %ENV entries are always byte strings. +=head2 Unicode and glob() + +Currently glob patterns and filenames returned from File::Glob::glob() +are always byte strings. + =head2 use less 'memory' Investigate trade offs to switch out perl's choices on memory usage. @@ -516,6 +529,15 @@ PerlIO doesn't do directories or symlinks, either: mkdir(), rmdir(), opendir(), closedir(), seekdir(), rewinddir(), glob(); symlink(), readlink(). +=head2 -C on the #! line + +It should be possible to make -C work correctly if found on the #! line, +given that all perl command line options are strict ASCII, and -C changes +only the interpretation of non-ASCII characters, and not for the script file +handle. To make it work needs some investigation of the ordering of function +calls during startup, and (by implication) a bit of tweaking of that order. + + =head1 Tasks that need a knowledge of the interpreter These tasks would need C knowledge, and knowledge of how the interpreter works, @@ -606,6 +628,16 @@ set. The pad API only takes a C pointer, so that's all bytes too. The tokeniser ignores the UTF-8-ness of C, or any SVs returned from source filters. All this could be fixed. +=head2 The yada yada yada operators + +Perl 6's Synopsis 3 says: + +I + +Those would be nice to add to Perl 5. That could be done without new ops. + =head1 Big projects Tasks that will get your name mentioned in the description of the "Highlights @@ -620,6 +652,8 @@ will be greatly appreciated. One bit would be to write the missing code in sv.c:Perl_dirp_dup. +Fix Perl_sv_dup, et al so that threads can return objects. + =head2 iCOW Sarathy and Arthur have a proposal for an improved Copy On Write which @@ -640,5 +674,3 @@ This will allow the use of a regex from inside (?{ }), (??{ }) and Apparently these are quite useful. Anyway, Jeffery Friedl wants them. demerphq has this on his todo list, but right at the bottom. - -