5.6 had only 2 IO disciplines: ":crlf" (the default) and ":raw" (binmode) and did not support unicode properly. 5.8 has support for other disciplines including utf8.
`perldoc perl58delta' (emphasis mine)
...
* If your environment variables (LC_ALL, LC_CTYPE, LANG) look like you want to use UTF-8 (any of the the variables match "/utf-?8/i"), your STDIN, STDOUT, STDERR handles and the default open layer (see open) are marked as UTF-8. (This feature, like other new features that combine Unicode and I/O, work only if you are using PerlIO, but that's the default.)Note that after this Perl really does assume that everything is UTF-8: for example if some input handle is not, Perl will probably very soon complain about the input data like this "Malformed UTF-8 ..." since any old eight-bit data is not legal UTF-8.
Note for code authors: if you want to enable your users to use UTF-8 as their default encoding but in your code still have eight-bit I/O streams (such as images or zip files), you need to explicitly open() or binmode() with ":bytes" (see "open" in perlfunc and "binmode" in perlfunc), or you can just use "binmode(FH)" (nice for pre-5.8.0 backward compatibility). ...
In reply to Re^6: Help with RC4
by PodMaster
in thread Help with RC4
by jmamer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |