Can you guarantee that you'll only ever use "the listed YAML modules"?
I can guarantee that all modules in the list have Load & Dump. If one doesn't, my module can't use it, so it won't be in the list.
If I were to use a proxy module which didn't guarantee that API, I would have to check for it. The only one that I know of, YAML::Any, does offer that interface.
Can you guarantee that you'll never want to use another function beyond Dump and Load in this, or a subclassed, module?
I can guarantee that my module will only ever use Load & Dump.
I can't say anything about subclasses, but if they need a particular API, they'll have to ensure that it is met.
No, that check occurred in the original version, not the update. The original solution was hidden in a spoiler (for anyone interested in seeing the changes that were made). I thought that "original solution (see spoiler below)" made this clear but apparently not: I've added additional text making this clearer.
For some reason, I was unable to view the code in the spoiler: clicking on the link didn't reveal it properly; I obviously commented on the wrong code. My apologies for the confusion.
Thanks for your input.
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>
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
Want more info? How to link or
or How to display code and escape characters
are good places to start.