perl-Text-ParseWords
The nested_quotewords() and quotewords() functions accept a delimiter (which can be a regular expression) and a list of lines and then breaks those lines up into a list of words ignoring delimiters that appear inside quotes. quotewords() returns all of the tokens in a single long list, while nested_quotewords() returns a list of token lists corresponding to the elements of @lines. parse_line() does tokenizing on a single string. The quotewords() functions simply call &parse_line(), so if you're only splitting one line you can call parse_line() directly and save a function call.
Current version: 3.31
History