in reply to HTML::Entities encode_entities for perlmonks [ ]
Using the HTML::Entities documentation:
#!/usr/bin/env perl -l use strict; use warnings; use utf8; binmode(STDOUT => ':utf8'); use HTML::Entities; my $unsafe_chars = "<&>'\"[]\200-\377"; my $string = "<[Here's my \"2¢\" worth]>"; print $string; print encode_entities($string, $unsafe_chars);
Output:
$ pm_html_ent_plus_brackets.pl <[Here's my "2¢" worth]> <[Here's my "2¢" worth]>
Update: Oops! just noticed  in the output (just before ¢). Fixed by adding:
use utf8; binmode(STDOUT => ':utf8');
- use utf8; — because source code contains UTF-8, i.e. the ¢ character.
- binmode(STDOUT => ':utf8'); — doesn't change any of the character entity references but, without it, print $string; gives <[Here's my "2?" worth]> (note the ? instead of ¢) now that use utf8; has been added.
-- Ken
In Section
Seekers of Perl Wisdom