http://www.perlmonks.org?node_id=703696


in reply to splitting punctuation in a text

Greetings,
I would suggest using a word boundary \b. for instance...
#!/usr/bin/perl -w use strict; use Data::Dumper; my $line = "earth, wind & fire"; my @chunks = split /\b/, $line; print Dumper(\@chunks);
Which produces what you want... well close. If you don't want the spaces around your punctuation marks this
#need the grep to filter for truth! #basically checking if #the element is defined/filled-in/not-blank my @chunks = grep{$_} split /\b|\s/, $line;
should do the trick.


Update! Upon re-reading your post I am a bit unclear... Do you want to keep the punctuations or not?
if not
#either this my @no_punct = $line =~ /(\w+)/g; #or this my @no_punct = grep{$_}split /\W|\s/, $line;
will work.

-InjunJoel
"I do not feel obliged to believe that the same God who endowed us with sense, reason and intellect has intended us to forego their use." -Galileo