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