Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

comment on

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

Right off the top it looks like the 'define_method' code is accepting the value for 'Parameters' as a hash ref instead of an array ref so I'm not sure you are going to be keeping the order of the keys to begin with, especially with the latest version of Perl.

That aside, unless you are in a position to rewrite the app (which I would guess is significant in size) to use named parameters instead of positional you have probably come up with the best way to do what you want. The entire problem disappears if you can switch to named params. Plus, you can take advantage of CPAN modules to enforce type checking, etc, like you are currently doing.

Of course, if you can make the change, then go whole-hog and covert to Moose since what you have here looks a lot like someone tried to invent Moose with positional params.

On time, cheap, compliant with final specs. Pick two.

In reply to Re: More elegant way of doing "ordered hash"? by boftx
in thread More elegant way of doing "ordered hash"? by PopeFelix

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 having a coffee break in the Monastery: (3)
As of 2024-04-26 00:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found