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

Re^3: undef/defined &{$name} while "strict refs"

by Anonymous Monk
on Aug 21, 2012 at 06:43 UTC ( #988598=note: print w/replies, xml ) Need Help??

in reply to Re^2: undef/defined &{$name} while "strict refs"
in thread undef/defined &{$name} while "strict refs"

I think, however, it's still unclear why defined/undef &{ 'run' } doesn't throw exceptions while "strict refs". ,/i>

Have you read what strict says about refs?

Please read it now

  • Comment on Re^3: undef/defined &{$name} while "strict refs"

Replies are listed 'Best First'.
Re^4: undef/defined &{$name} while "strict refs"
by anazawa (Scribe) on Aug 21, 2012 at 07:04 UTC
    The POD says we are allowed to get a reference to CODE using symbolic references while "strict refs". I think this doesn't mean we can defined or undef subroutines as well. I may be misreading the document.

      I think this doesn't mean we can defined or undef subroutines as well.

      I don't understand what you're saying here

        When we execute my code above, the script throws an exception because &{ 'run' } violates "strict refs". Khen1950fx explained how to avoid this problem (I appreciate his suggestion).

        On the other hand, when we comment out &{ 'run' }, my script doesn't output error messages. This result shows the following doesn't violate "strict refs":
        my $walkable = defined &{ 'walk' }; undef &{ 'walk' };
        It seems each line uses symbolic references. I don't understand why this is possible.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://988598]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2018-06-19 22:17 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (115 votes). Check out past polls.