Commit | Line | Data |
a0d0e21e |
1 | Modules needed |
8990e307 |
2 | X/Motif/Tk etc. |
a0d0e21e |
3 | Curses |
8990e307 |
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 |
12 | Profiler |
13 | pack "(stuff)*" |
85e6fe83 |
14 | Contiguous bitfields in pack/unpack |
463ee0b2 |
15 | lexperl |
16 | Bundled perl preprocessor |
8990e307 |
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 |
25 | All ARGV input should act like <> |
26 | Multiple levels of warning |
2304df62 |
27 | .= shouldn't complain about undefined under -w |
28 | report HANDLE [formats]. |
85e6fe83 |
29 | tie(FILEHANDLE, ...) |
30 | __DATA__ |
a0d0e21e |
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 |
37 | |
38 | Optimizations |
a0d0e21e |
39 | constant function cache |
40 | switch structures |
41 | foreach(@array) |
42 | foreach (1..1000000) |
43 | foreach(reverse...) |
463ee0b2 |
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 |
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 |
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 |
72 | Modifiable $1 et al |
73 | substr EXPR,OFFSET,LENGTH,STRING |
74 | locally capture warnings into an array |
75 | |