blob: d073b04ca9e0fbe52b0059bb3f079dea14572c33 (
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
69
70
71
72
|
Must-have external packages
POSIX
X/Motif/whatever
Bugs
BEGIN { require 'perldb.pl' }
Make yyparse recursion longjmp() proof.
perl -c shell_script bug
fix the need for double ^D on $x
STDOUT->print("howdy\n");
%ENV not there
Make "delete $array{$key} while ($key) = each %array" safe
using unpack(P,$ref) shouldn't unref the ref
binary function is missing
wrong line reported for runtime elsif condition error
unreference variable warnings busted (but don't warn on $seen{$key}++)
Regexp extensions
/m for multiline
/\Afoo/ (beginning of string, or where previous g match left off)
/foo\Z/ (end of string only)
negative regexp assertions?
/<>/x for grouping?
/f for fixed variable interpolation?
Rewrite regexp parser for better integrated optimization
Nice to have
Profiler
pack "(stuff)*"
lexperl
Bundled perl preprocessor
FILEHANDLE methods
Make $[ compile-time instead of run-time
Optimizations
Make specialized allocators
Optimize switch statements
Optimize foreach on array
Optimize foreach (1..1000000)
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?
Optimize away @_ where possible
sfio?
Need to think more about
ref in list context
When does split() go to @_?
Figure out BEGIN { ... @ARGV ... }
Implement eval once? (Unnecessary with cache?)
Detect inconsistent linkage when using -DDEBUGGING?
Populate %SIG at startup if appropriate
Multiple levels of warning
Vague possibilities
readonly variables
sub mysplice(@, $, $, ...)
data prettyprint function? (or is it, as I suspect, a lib routine?)
Nested destructors
make tr/// return histogram in list context?
undef wantarray in void context
goto &replacement_routine
filehandle references
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
|