- append a "..." to the produced string if the maximum length is exceeded
- really fancy: print unicode characters as \N{...}
-NOTE: pv_display(), pv_uni_display(), sv_uni_display() are doing
-something like the above.
+NOTE: pv_display(), pv_uni_display(), sv_uni_display() are already
+doing something like the above.
=head2 Overloadable regex assertions
gets invoked in which platform is simply a big mess that needs to be
untangled. Secondly, the effects are apparently not standard across
platforms, (if you first set $< and then $>, or vice versa, being
-uid==euid== zero, or just euid==zero, or as a normal user, what are
+uid == euid == zero, or just euid == zero, or as a normal user, what are
the results?). The test suite not (usually) being run as root means
that these things do not get much testing. Thirdly, there's quite
often a third uid called saved uid, and Perl has no knowledge of that
back any real and effective uids.) As an example, to change also the
saved uid, one needs to set the real and effective uids B<twice>-- in
most systems, that is: in HP-UX that doesn't seem to work.
-
+
=head2 Custom opcodes
Have a way to introduce user-defined opcodes without the subroutine call
This is possible to do, but would be pretty messy to implement, as it
would rely on even more sed hackery in F<perly.fixer>.
-=head2 pack "(stuff)*"
-
-That's to say, C<pack "(sI)40"> would be the same as C<pack "sI"x40>
-
=head2 bitfields in pack
=head2 Cross compilation
Mark-Jason Dominus has the beginnings of one of these.
-=head2 pack/unpack tutorial
-
-Simon Cozens has the beginnings of one of these.
-
=head2 Rewrite perldoc
There are a few suggestions for what to do with C<perldoc>: maybe a
needs to be displayed with %vd, make v-strings (readonly) objects
(class "vstring"?) with a stringify overload.
+=head2 Allow restricted hash assignment
+
+Currently you're not allowed to assign to a restricted hash at all,
+even with the same keys.
+
+ %restricted = (foo => 42); # error
+
+This should be allowed if the new keyset is a subset of the old
+keyset. May require more extra code than we'd like in pp_aassign.
+
=head1 Vague ideas
Ideas which have been discussed, and which may or may not happen.
pass the process ID. It would be good to do this with the Perl debugger
on a running Perl program, although I'm not sure how it would be done.
-=head2 Alternative RE syntax module
-
- use Regex::Newbie;
- $re = Regex::Newbie->new
- ->start
- ->match("foo")
- ->repeat(Regex::Newbie->class("char"),3)
- ->end;
- /$re/;
-
=head2 GUI::Native
A non-core module that would use "native" GUI to create graphical
These are things which have been on the todo lists in previous releases
but have recently been completed.
+=head2 Alternative RE syntax module
+
+The C<Regexp::English> module, available from the CPAN, provides this:
+
+ my $re = Regexp::English
+ -> start_of_line
+ -> literal('Flippers')
+ -> literal(':')
+ -> optional
+ -> whitespace_char
+ -> end
+ -> remember
+ -> multiple
+ -> digit;
+
+ /$re/;
+
=head2 Safe signal handling
A new signal model went into 5.7.1 without much fanfare. Operations and
=head2 Generalised want()/caller())
+Robin Houston's C<Want> module does this.
+
=head2 Named prototypes
-These both seem to be delayed until Perl 6.
+This seems to be delayed until Perl 6.
=head2 Built-in globbing
(see the UNIX FAQ for details). This needs to go somewhere near
pp_sys.c:pp_truncate().
+One can emulate truncate() easily if one has ftruncate().
+This emulation should also go near pp_sys.pp_truncate().
+
+=head2 pack/unpack tutorial
+
+Wolfgang Laun finished what Simon Cozens started.
+
=cut