Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: regex pattern match

by vagabonding electron (Chaplain)
on Mar 29, 2013 at 16:27 UTC ( #1026167=note: print w/replies, xml ) Need Help??

in reply to regex pattern match

Since Text::ParseWords is a core it should not be a problem to use it.

Here is my attempt:

#!/usr/bin/perl use strict; use warnings; use Text::ParseWords; while ( my $line = <DATA> ) { chomp $line; my @fields = quotewords( ',', 0, $line ); my @lastfield; if ( index( $fields[-1], ',') > -1 ) { @lastfield = quotewords(',',0,$fields[-1]); $fields[-1] = shift @lastfield; } @fields = map { '"'.$_.'"' } @fields; # if quotes are obligatory print join( ',', @fields ), "\n"; while ( my $rest = shift @lastfield ) { $rest = '"'.$rest.'"'; my @temp = (' ') x scalar @fields - 1; # three spaces, # two of these because of quotes push @temp, $rest; print join(' ', @temp ), "\n"; } } __DATA__ "A","B","C","D" "A","B","C","D,E,F" "A","B","C","D" "A","B","C","D,R,T"

The output:

"A","B","C","D" "A","B","C","D" "E" "F" "A","B","C","D" "A","B","C","D" "R" "T"

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1026167]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (14)
As of 2016-10-26 19:59 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (346 votes). Check out past polls.