Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: strange constants.pm warning

by Perlbotics (Archbishop)
on Aug 30, 2021 at 17:57 UTC ( [id://11136235]=note: print w/replies, xml ) Need Help??


in reply to strange constants.pm warning

How do you init $name? Like use constant name => 42?

Then

if ( name =~ /^_?[^\W_0-9]\w*\z/ and !$forbidden{ name() }) {
might work? Conststant creates a sub witht the given name that returns the value.

Replies are listed 'Best First'.
Re^2: strange constants.pm warning
by misterperl (Pilgrim) on Aug 30, 2021 at 18:02 UTC
    use constant DB_ERROR => "database error";
Re^2: strange constants.pm warning
by misterperl (Pilgrim) on Aug 30, 2021 at 18:11 UTC
    I haven't tried to see if the sub actually gets created- Im just trying to figure out why this valid statement throws this unknown warning message.. AND to find out why the debuger break where apparently it shouldn't..

      Okay, misunderstanding. I thought this happens in your code but it is actually a line from the import() sub of constant.

      } else { # Catch-all - what did I miss? If you get this err +or, # please let me know what your constant's name was +. # Write to <rootbeer@redcat.com>. Thanks! warnings::warn("Constant name '$name' has unknown +problems"); }

      Your example works here. Perhaps some non-printable characters have sneaked in to your text file or there is a clash (other module or within your code) that uses the same constant? What happens if you change DB_ERROR to MY_DB_ERROR? No better ideas ATM, sorry.

        Your suggestion of the potential of unprintables was very astute- I removed the line and carefuly re-typed it. Same warning.

        I noticed there were 2 constants defined. I moved the 2nd to the top , and now THAT one throws the warning , but the other is fine. So whichever is first throws a warning!

        This makes me wonder- the author doesn't declare:

        use constant;
        above these pragmas. maybe that would fix this? I don't see that in the Metacpan but perhaps they're incomplete examples?

        APPRECIATE all the kind advice guys- I'll wait for the admin to get my module updated and pray for better results :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2024-04-24 22:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found