qr/([^$wc]+)/o,
qr/^$ignoref([$wc]+?)$ignorel$/io,
qr/^$match_string$/,
####
use strict;
my @wordchars = ("a".."z","#*");
my @ignorefirst = ("#");
my $test=" foo#barbaz* ";
my $wordchars=join "",@wordchars;
my $ignorefirst=join "",@ignorefirst;
#
# get words
#
eval ("\$test=~tr/$wordchars/\\n/c;");
print $test;
my @words=split /\n/,$test;
#
# now that the words are obtained, work on removing any ignorefirst
#
foreach (@words) {
eval ("substr (\$_,0,1)=~ tr/$ignorefirst//d");
# ignorelast would be similar.
}
print "search terms are : ";
foreach (@words) {print "$_ ";}
####
substr (\$_,0,1)=~ s/[$ignorefirst]//;