Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: A sub named ∃

by Steve_p (Priest)
on Nov 30, 2006 at 03:41 UTC ( #586854=note: print w/ replies, xml ) Need Help??


in reply to A sub named ∃

I believe that this bug is to blame. There are plans to fix it, but, as of yet, I don't know that there has been any progress towards resolving it.


Comment on Re: A sub named ∃
Re^2: A sub named ∃
by vkon (Curate) on Nov 30, 2006 at 11:11 UTC
    I suspect you know the situation better than me, but why in this particular case the explanation that
    ∃!~/\w/
    will not suffice?
    Perl allows utf8-names from letters of non-English alphabets, although documentation strictly warns against this.

      /w isn't the pattern for matching the first character in identifiers. I never consider \w when matching that first character. In unicode, the pattern to follow is likely /\A\p{IdFirst}\w*\z/. In ASCII, the pattern is /\A[[:alpha:]_]\w*\z/. The pattern /\^\w+\z/ is always wrong when matching identifiers.

      ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

        all my concious life any unicode-capable perl matches with \w any unicode letter, and I often match russian letters e.g. 0x0432 with \w.

        I never did [[:alpha:]], but did succeeded russian letters matching with \w

Re^2: A sub named ∃
by ikegami (Pope) on Nov 30, 2006 at 16:36 UTC

    Note: In the following source code,
    replace "∃" with the UTF-8 representation of "∃", and
    replace "трщь" with the UTF-8 representation of "трщь".

    use strict; use warnings; no warnings 'redefine'; for ( [ "Symbol, use utf8: " => "use utf8; sub ∃ {}" ], [ "Symbol, no utf8: " => "no utf8; sub ∃ {}" ], [ "Russian, use utf8: " => "use utf8; sub трщ&#11 +00; {}" ], [ "Russian, no utf8: " => "no utf8; sub трщ&#11 +00; {}" ], ) { print $_->[0], eval "$_->[1]; 1" ? "Success\n" : $@; }
    outputs
    Symbol, use utf8: Illegal declaration of anonymous subroutine at (eva +l 1) line 1. Symbol, no utf8: Illegal declaration of anonymous subroutine at (eva +l 2) line 1. Russian, use utf8: Success Russian, no utf8: Illegal declaration of anonymous subroutine at (eva +l 4) line 1.

    If the problem is what you say it is, wouldn't use utf8 have no effect on the error?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://586854]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (12)
As of 2015-07-07 15:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (91 votes), past polls