Text::ParseWords(3P)erl
NNAAMMEE
Text::ParseWords - parse text into an array of tokens
SSYYNNOOPPSSIISS
use Text::ParseWords;
@words = "ewords($delim, $keep, @lines);
@words = &shellwords(@lines);
@words = &old_shellwords(@lines);
DDEESSCCRRIIPPTTIIOONN
"ewords() accepts 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.
The $keep argument is a boolean flag. If true, the quotes
are kept with each word, otherwise quotes are stripped in
the splitting process. $keep also defines whether
unprotected backslashes are retained.
A &shellwords() replacement is included to demonstrate the
new package. This version differs from the original in
that it will _NOT_ default to using $_ if no arguments are
given. I personally find the old behavior to be a mis-
feature.
"ewords() works by simply jamming all of @lines into a
single string in $_ and then pulling off words a bit at a
time until $_ is exhausted.
AAUUTTHHOORRSS
Hal Pomeranz pomeranz@netcom.com, 23 March 1994
Basically an update and generalization of the old
shellwords.pl. Much code shamelessly stolen from the old
version (author unknown).