Dear Monks,
today I have played around a bit with HTML::Tree and its parts. And was surprised that the following expression was not working (as intended) on a string extracted from a webpage using as_trimmed_text().
After a lot of searching I found the culprit: the blanks were coded as 0xA0 (non-breaking spaces). And \s is not matching them. Is there a better way to handle those besides my rather ugly solution below?$name =~ s/\sx\s\d+//; # remove trailing " x 3" (and similar)
Or another workaround?$name =~ s/[\s\xA0]x[\s\xA0]\d+//;
Rata
Update: Thanks a lot rovf, Eliya and LanX: I added all of your solutions to my code for future reference - all work like a charm :-) Now that I installed v5.14, I will keep the solution with use feature "unicode_strings"; active - I like its elegance.
And thanks for the link to the interesting blog-post, shawnhcorey!
In reply to \s and non-breaking spaces by Ratazong
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |