Commit | Line | Data |
---|---|---|
8990e307 LW |
1 | Tie Modules |
2 | VecArray Implement array using vec() | |
3 | SubstrArray Implement array using substr() | |
4 | VirtualArray Implement array using a file | |
5 | ShiftSplice Defines shift et al in terms of splice method | |
93a17b20 | 6 | |
8990e307 | 7 | Would be nice to have |
463ee0b2 LW |
8 | Profiler |
9 | pack "(stuff)*" | |
85e6fe83 | 10 | Contiguous bitfields in pack/unpack |
463ee0b2 LW |
11 | lexperl |
12 | Bundled perl preprocessor | |
8990e307 LW |
13 | Use posix calls internally where possible |
14 | const variables | |
15 | gettimeofday | |
16 | bytecompiler | |
17 | format BOTTOM | |
a0d0e21e | 18 | $obj->can("method") to probe method inheritance |
8990e307 | 19 | -iprefix. |
2304df62 | 20 | -i rename file only when successfully changed |
8990e307 LW |
21 | All ARGV input should act like <> |
22 | Multiple levels of warning | |
2304df62 | 23 | report HANDLE [formats]. |
85e6fe83 LW |
24 | tie(FILEHANDLE, ...) |
25 | __DATA__ | |
a0d0e21e LW |
26 | support in perlmain to rerun debugger |
27 | make 'r' print return value like gdb 'fini' | |
748a9306 | 28 | regression tests using __WARN__ and __DIE__ hooks |
8990e307 | 29 | |
a0d0e21e | 30 | Possible pragmas |
85e6fe83 | 31 | debugger |
a0d0e21e | 32 | optimize (use less memory, CPU) |
463ee0b2 LW |
33 | |
34 | Optimizations | |
a0d0e21e LW |
35 | constant function cache |
36 | switch structures | |
4633a7c4 | 37 | eval qw() at compile time |
a0d0e21e LW |
38 | foreach (1..1000000) |
39 | foreach(reverse...) | |
463ee0b2 LW |
40 | Set KEEP on constant split |
41 | Cache eval tree (unless lexical outer scope used (mark in &compiling?)) | |
42 | rcatmaybe | |
43 | Shrink opcode tables via multiple implementations selected in peep | |
a0d0e21e | 44 | Cache hash value? (Not a win, according to Guido) |
ed6116ce | 45 | Optimize away @_ where possible |
463ee0b2 | 46 | sfio? |
8990e307 | 47 | "one pass" global destruction |
2304df62 | 48 | Optimize sort by { $a <=> $b } |
a0d0e21e | 49 | Rewrite regexp parser for better integrated optimization |
463ee0b2 | 50 | |
a0d0e21e | 51 | Vague possibilities |
8990e307 | 52 | ref function in list context |
ed6116ce | 53 | Populate %SIG at startup if appropriate |
463ee0b2 | 54 | data prettyprint function? (or is it, as I suspect, a lib routine?) |
463ee0b2 LW |
55 | make tr/// return histogram in list context? |
56 | undef wantarray in void context | |
463ee0b2 LW |
57 | Loop control on do{} et al |
58 | Explicit switch statements | |
59 | perl to C translator | |
60 | multi-thread scheduling | |
61 | built-in globbing | |
62 | compile to real threaded code | |
63 | structured types | |
8990e307 | 64 | paren counting in tokener to queue remote expectations |
85e6fe83 | 65 | autocroak? |
a0d0e21e LW |
66 | Modifiable $1 et al |
67 | substr EXPR,OFFSET,LENGTH,STRING | |
a0d0e21e | 68 |