It's not a "bug" per-se

It is. And that's the official name for code that behaves differently depending on the internal representation of a string.

just unspecified behavior that people constantly run into.

The issue is not that the behaviour is unspecified. A lot of Perl behaviour is unspecified. That's not really an issue because there's only one Perl interpreter. The interpreter is the language, so to speak.

The issue is that two equal strings produce different results. That is most definitely a bug.

$d eq $u is true in the snippet I provided earlier, so open should do the same for both. But it doesn't. That's a bug.

there is no one-size-fits-all solution for character encoding,

Not so. In this area, it's most definitely possibly to provide an interface that works on all systems.

until such time as Strawberry releases a perl.exe with the UTF-8 codepage configured.

I did file a ticket requesting this some time ago.


In reply to Re^4: how are ARGV and filename strings represented? by ikegami
in thread how are ARGV and filename strings represented? by almr

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.