http://www.perlmonks.org?node_id=758305

wanradt has asked for the wisdom of the Perl Monks concerning the following question:

Fellow devoted, not too many moons back i asked here about your knowledge and got some good hints to get my perl things be more unicode-aware, i mean node Pragma to handle unicode characters

Now I upgraded my perl to 5.10 and got a bit of surprise yelling me:

Too late for "-C63" option at ... line 1.
First i thougt it as bug, but from perldelta i read:
The -C option can no longer be used on the #! line. It wasn't working there anyway.

Maybe it wasn't working at all, but for me it somehow still worked. So, i'm looking for alternative: how can i turn UTF8 on on every possible IO from inside of code.

There is also option to use env-variable PERL_UNICODE, but this is not always option. For example, how can i turn the variable on running CGI-script?

TIA

Nġnda, WK
  • Comment on Unicodeness and deprecated -C on shebang

Replies are listed 'Best First'.
Re: Unicodeness and deprecated -C on shebang
by ikegami (Patriarch) on Apr 17, 2009 at 18:17 UTC

    -C63 is completely unreadable. Please use -CSDA instead. It's a bit better.

    You can do two of those letters using open:

    use open IO => ':encoding(UTF-8)'; # -CD use open ':std' => ':encoding(UTF-8)'; # -CS

    But the simplest solution is not change anything and actually use the shebang line by launching the script directly, not as an argument to perl.

      Could you, please, be more specific about your last sentence? How to launch directly?

      Nġnda, WK
        Type script.pl, not perl script.pl