diff options
Diffstat (limited to 'lib/bytes.pm')
-rw-r--r-- | lib/bytes.pm | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/lib/bytes.pm b/lib/bytes.pm index cd82abc75b..775b2cdab5 100644 --- a/lib/bytes.pm +++ b/lib/bytes.pm @@ -18,6 +18,11 @@ sub AUTOLOAD { } sub length ($); +sub chr ($); +sub ord ($); +sub substr ($$;$$); +sub index ($$;$); +sub rindex ($$;$); 1; __END__ @@ -29,8 +34,15 @@ bytes - Perl pragma to force byte semantics rather than character semantics =head1 SYNOPSIS use bytes; + ... chr(...); # or bytes::chr + ... index(...); # or bytes::index + ... length(...); # or bytes::length + ... ord(...); # or bytes::ord + ... rindex(...); # or bytes::rindex + ... substr(...); # or bytes::substr no bytes; + =head1 DESCRIPTION The C<use bytes> pragma disables character semantics for the rest of the @@ -53,16 +65,22 @@ up the UTF8 encoding - and C<length $x> returns C<2>: print "Length is ", length $x, "\n"; # "Length is 1" printf "Contents are %vd\n", $x; # "Contents are 400" { - use bytes; + use bytes; # or "require bytes; bytes::length()" print "Length is ", length $x, "\n"; # "Length is 2" printf "Contents are %vd\n", $x; # "Contents are 198.144" } +chr(), ord(), substr(), index() and rindex() behave similarly. + For more on the implications and differences between character -semantics and byte semantics, see L<perlunicode>. +semantics and byte semantics, see L<perluniintro> and L<perlunicode>. + +=head1 LIMITATIONS + +bytes::substr() does not work as an lvalue(). =head1 SEE ALSO -L<perlunicode>, L<utf8> +L<perluniintro>, L<perlunicode>, L<utf8> =cut |