Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re(2): Replacing namespaces

by dmmiller2k (Chaplain)
on Dec 11, 2001 at 20:09 UTC ( #130957=note: print w/replies, xml ) Need Help??

in reply to Re: Replacing namespaces
in thread Replacing namespaces

I concur; this is a very elegant solution, kind of like a dynamic dispatcher.

Expanding upon the concept of making sure the reblessings are in a known tree, what you are describing appears to be a Finite State Machine.

Given a current state (class A) and event (X fails), a new state (class B) is chosen; or, alternatively for a different event (Y fails), a different new state (class C) is selected.

Construct a table with all possible states down the Y-axis and events across the X-axis, thus documenting the permitted state transitions. Here a dash (-) represents illegal states (i.e., should not happen, is an error if it does):

state | event X | event Y | event Z -------+-----------+-----------+----------- A | B | C | E -------+-----------+-----------+----------- B | D | - | E -------+-----------+-----------+----------- C | E | - | - -------+-----------+-----------+----------- | | | ... etc. | | | -------+-----------+-----------+----------- E | - | - | B -------+-----------+-----------+-----------

There are probably other ways to track a complex transition graph, but I've gotten great use out of this qapproach.


You can give a man a fish and feed him for a day ...
Or, you can
teach him to fish and feed him for a lifetime

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2021-05-10 08:47 GMT
Find Nodes?
    Voting Booth?
    Perl 7 will be out ...

    Results (105 votes). Check out past polls.