We can dream, can't we?
- Strictures on by default
- I don't like the dot . for string concatenation, it's too easy to overlook. Use ~ instead. Method calls can then be written as $obj.meth
- Variable binding with :=. Disallow empty attributes instead. (my $x := is now parsed as my $x with empty attribute at the LHS)
- Optional signatures for subs and methods.
- Remove the comma operator for separating statements (like in do_a(), do_b() for @list). That way we could parse many lists unambiguously without parenthesis.
- Strictly separate byte strings and text strings. Regexes that contain codepoints larger than 255 should not be applicable to byte strings (and should croak), likewise doing IO with text strings. The current approach is hard to understand and hard to debug.
- Make string functions (like length, substr etc.) act on graphemes instead of codepoints by default.
I admit that most of that (if not all) is bluntly stolen from the Perl 6 synopsis. It's the subset of features I really like, and that could be integrated into perl 5 without making it a different language altogether.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|