LanX has asked for the wisdom of the Perl Monks concerning the following question:

Hi

short

I wan't to disable access to a variable and throw an exception if it's tried.

I was thinking of implementing it with Tie::Scalar and already found Tie::Watch after googling duck'ing for "tie watch" (sic)

Another approach might be keeping the variable undefined and to catch the warning in $SIG{__WARN__}

Questions:

long

I'm migrating a rather complicated CGI and am gradually introducing new abstractions/variables especially for SQL table names.

Since I have to test the code little by little I want to avoid accidental execution of parts which are still under construction.

That's why I already did a general search and replace and introduced global dummy variables like s/table_X_Y_tree/table_${TABLE_FAMILIY}_tree/g

This "works" already, I get warnings and SQL-queries fails.

A watch expression might be better though.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Replies are listed 'Best First'.
Re: Monitoring a variable during refactoring
by haj (Vicar) on Jul 03, 2019 at 17:29 UTC
      Thanks good to know.

      It might be overkill in my case but handy in others. :)

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

        I just wondered what Uncle Bob might say about all this magic stuff.

        «The Crux of the Biscuit is the Apostrophe»

        perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help

Re: Monitoring a variable during refactoring
by Anonymous Monk on Jul 04, 2019 at 20:32 UTC

    Hi

    Change the way you're "rafactoring" ?