Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: A sub named ∃

by Steve_p (Priest)
on Nov 30, 2006 at 03:41 UTC ( [id://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.

Replies are listed 'Best First'.
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 (Patriarch) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://586854]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2025-06-19 13:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.