in reply to Is it possible to create a sub exclusive to a sub?
Here's a way that avoids re-creating the local sub every invocation of the main, and avoids namespace pollution in main. It also allows as many (named) "local" subs as required.
#! perl -slw use strict; sub test{ ## create a 'local' sub the first time we're called ## As many as you like each with it's own name *test->{localsub} = sub{ print 'localsub1'; return 12345; } unless exists *test->{localsub}; ## use it *test->{localsub}(); } print test; ## It's not truly local, but no namespace pollution. ## Anyone doing this, is doing it deliberately *test->{localsub}(); __END__ P:\test>test localsub1 12345 localsub1
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Is it possible to create a sub exclusive to a sub?
by Aristotle (Chancellor) on Sep 19, 2004 at 10:19 UTC | |
by ihb (Deacon) on Sep 19, 2004 at 10:40 UTC | |
by Aristotle (Chancellor) on Sep 19, 2004 at 10:44 UTC | |
by BrowserUk (Patriarch) on Sep 19, 2004 at 11:01 UTC | |
by Aristotle (Chancellor) on Sep 19, 2004 at 11:11 UTC | |
by Aristotle (Chancellor) on Sep 19, 2004 at 11:10 UTC | |
| |
by BrowserUk (Patriarch) on Sep 19, 2004 at 10:28 UTC | |
by Aristotle (Chancellor) on Sep 19, 2004 at 10:35 UTC |