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