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

If you just want words...

by tedv (Pilgrim)
on Jan 17, 2001 at 01:37 UTC ( #52366=note: print w/replies, xml ) Need Help??

in reply to Re: Re: How can I use regex to copy each word of a string into a hash?
in thread How can I use regex to copy each word of a string into a hash?

If you just want words, why bother with punctuation at all? Just do a massive s/\W+/ /g on the string beforehand and you'll get a big list of words, separated by spaces. I suppose those damn apostrophies will cause you pain, and you want "it's" to differ from "its". It's unclear whether or not capitalization matters-- is "BASIC" a different word from "basic"? What about "Smith" versus "smith"?

Anyway, I'd probably write something like this:
local $/ = undef; $_ = <MY_FILE>; my %hash = (); $hash{$_}++ foreach split /[^\w']+/; # Change $_ to lc if case matters


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://52366]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2018-03-22 14:16 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (276 votes). Check out past polls.