Hi, looking at your REs I have a couple of suggestions:
$text =~ s/\[.*?\]/ /g;
# you can lose the .*? by using [^\]]* which save the RE engine ba
+cktracking
# $text =~ s/\[[^\]]*\]/ /g;
$text =~ s/[.,?"':&()!-]/ /g;
$text =~ s/[^\w ]//g;
# you need a /m to make this match
# here
# and here
# and here
# ie this will only match the very begining of the string
$text =~ s/^\s+//;
# ditto
$text =~ s/\s+$//;
$text =~ s/\s+/ /;
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print