> I've included most of your tests;
I think the best way to test this, is to create these strings from joining @expected arrays.
By generating these arrays one can make sure to cover all edge cases.
As a side product you'll define a formal grammar. Like:
- how are unpaired quotes to be handled?
- what about multiple whitespaces in a row?
- what about multi-line input?
- what about whitespace at start and end of string?
Crafting the strings by hand is error prone, because there are far too many cases to handle.
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery