if(isalpha(*(s-1)) && strchr(chrsep, *s) && isalpha(*(s+1))) {
if(space_words(s, *s)) {
char c = *s;
while(*s) {
if(*s == c) s++;
else if(!isalpha(*s)) break;
*p = *s;
s++;
p++;
}
}
}
####
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @strings = (
q|one two 'three' one|,
q|yes i am 'sme'|,
q|x21 y z|,
);
for my $str (@strings){
my %hash;
for ( map { length >= 3 ? $_ : () } $str =~ /(\w+)/g ) {
$hash{$_}++;
}
print Dumper(\%hash);
}
##
##
$VAR1 = {
'three' => 1,
'one' => 2,
'two' => 1
};
$VAR1 = {
'yes' => 1,
'sme' => 1
};
$VAR1 = {
'x21' => 1
};