If you don't know what an htmlcode is, you won't get much out of this. If you do, and would like to document it for the lay reader so the second link in the first paragraph goes somewhere useful, please do.
After some discussion, the implementation of htmlcodes has been improved. The positive results of the changes are:
- htmlcodes can be passed an arbitrary number of arguments of arbitrary type: strings, hashrefs, array refs, code, database cursors: you name it.
- To allow for backward compatibility with existing html calls, if an htmlcode is called with a single argument, and that argument is not a reference, it will be split into a number of string arguments using the comma as delimiter.
- Even in old-style single-string argument htmlcode calls, arguments may now contain double or single quotes without breaking anything.
- htmlcodes called without arguments are not sent their own code as argument (yes, that was a bug).
The negative result at present is that error reporting is not always as helpful as would be desirable. The indefatigable OldMiner is working on that.
The remaining open issue from the discussion is how/whether to implement provision for non-backward-compatible new-style htmlcodes that may want a single string and don't want it split. No-one seems to think this is a very urgent issue at present.