Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Constant redefined

by paulski (Beadle)
on May 31, 2005 at 04:43 UTC ( [id://461923]=note: print w/replies, xml ) Need Help??


in reply to Re: Constant redefined
in thread Constant redefined

I'm aware of how constants work i.e. I did read the doco before I asked :-) and realise that PERL constants are just inline subs. I'm more interested in suppressing the error message, if possible.

Thanks,

Paul

Replies are listed 'Best First'.
Re^3: Constant redefined
by davido (Cardinal) on May 31, 2005 at 05:20 UTC

    I'm sorry for misunderstanding the intent of your question. Ok, so despite the fact that it violates the intent of constants, you're looking for a way to suppress any error message anytime a constant is defined again with the "use constant..." directive. Here's some rope:

    use warnings; use strict; BEGIN{ open OLDERR, '>&', \*STDERR or die "Couldn't save STDERR\n$!"; close STDERR; } INIT{ open STDERR, '>&', \*OLDERR or die "Couldn't retrieve STDERR\n$!"; } use constant PI => 3.14; use constant PI => 1000; print PI, "\n";

    You are now suppressing any error messages that would occur during the stage of compilation where 'use' directives are being sorted out and compiled. That means there are a lot of other errors you won't see. In fact, I doubt you would even see any error caught by my 'or die...' clauses while saving away STDERR. I did give STDERR back to you for runtime stuff though. But this whole thing seems like a BAD IDEA.

    By the way, holli is wrong about being able to wrap it in an eval BLOCK. I tried that too. ;)


    Dave

Re^3: Constant redefined
by holli (Abbot) on May 31, 2005 at 05:06 UTC
    You can suppress this error as you can suppress every error. Put in an eval BLOCK. But then the constant will still have the old value.

    Oh yeah. Compile time. My bad.


    holli, /regexed monk/

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (2)
As of 2024-04-26 00:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found