Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I personally believe and hope that this node can be considered as an "ever active one" so I won't clutter Meditations with this "new" idea of mine like I've been tempted to do, but post it as a followup here...

Well, here's my modest proposal re join: if the first argument passed to it is a reference, then it should not stringify it (which is unlikely to ever having been useful, and thus should not break any backwards compatibility) but

  1. if it is a hashref of the form { first => [LIST], then => [LIST] } then it should join the first items on the 'first' list and the remaining ones on the 'then' one, cyclically; for maximum dwimmery, if keys other then these (or better chosen ones, but these sound reasonable) are given, the first two in alphabetic order (which does make sense) would be used; if any key is missing, then the corresponding LIST would be treated as empty;
  2. if it is an arrayref $arr, then it would behave as if it were {then => $arr};
  3. if it is a subref then the subref would be called each time, with no arguments and its return value would be used to join on;
  4. if it is a scalar or glob ref, then I can't imagine any particularly good semantics; and if it is a blessed ref, then... I was thinking of making it check for especially named methods like 'action' (corresponding to the sub case above, and possibly taking precedence,) 'first' and 'then' but probably it would be better to just leave the object stringify the way it prefers and not deviate from the current behaviour.
--
If you can't understand the incipit, then please check the IPB Campaign.

In reply to Re: what would you like to see in perl5.12? by blazar
in thread what would you like to see in perl5.12? by ysth

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • 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.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-20 00:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found