[EMAIL PROTECTED] wrote:
Hi all,
Hello,
I am writing a perl script to parse a file. The data in the file is
seperated by space/tab. However, certain fields may be empty or
consist of mutiple words and are double quoted and this makes it
difficut for me to do a split.
Example of data:
"" "This is 2nd field"
3 4
1 2
"" 4
1 2 "The field may consist of (meta)
characters" ""
$ echo '"" "This is 2nd field" 3
4
1 2 "" 4
1 2 "The field may consist of (meta)
characters" ""' | \
perl -lne'
my @x = /"[^"]*"|\S+/g;
print "Number of fields: " . @x . " ", map " >$_<", @x;
'
Number of fields: 4 >""< >"This is 2nd field"< >3< >4<
Number of fields: 4 >1< >2< >""< >4<
Number of fields: 4 >1< >2< >"The field may consist of (meta)
characters"< >""<
John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order. -- Larry Wall