Though a newbie to both CGI::Application and OO, I
intend a pretty sophisticated application, for
instance using one regular expression as the naming
convention for both my subroutines and templates.  So
in setup() I am declaring:

$self->param
  ('nameConv' => 
  '(Insert|Update)?(Page)([1-9]\d*)(.*\.html)?'
  );

Then, from each run mode subroutine, I want to call a
custom helper subroutine that will match the name of
the subroutine against the naming convention,
_ideally_ as follows:

sub InsertPage1
  {
  my $self = shift;
  my $callee = GetSubName((caller(0))[3]); 
    #Another 'helper' subroutine
    #$callee now holds "InsertPage1"
  my ($dbMode, $prefix, $pageNum, $suffix) =
    NameConvMatcher($callee);

  _etcetera_

However, I cannot assign $self->param('nameConv') to a
lexical inside NameConvMatcher() because $self is out
of scope.  And I can't just modify NameConvMatcher()
to take a second argument and then pass
$self->param('nameConv'), but rather I'd first have to
"de-reference" into another variable as follows:

my $nameConv = $self->param('nameConv');

and then pass $nameConv.  It's bad enough, but
unavoidable, that I have to assign $callee at the top
of every run mode subroutine.  Is there a _good_ way
(I can think of bad ones) I can at least avoid also
having to de-reference $self-param('nameConv') into
$nameConv at the top of every run mode sub, only to
pass it to my custom helper subroutine?

Am I even making sense? ;)

Thanks in advance for any advice or tips, again
bearing in mind that I'm a newbie with this module,
and with OO.  Finally, please _personally_ copy me, as
well as the group address, as I am subscribing only to
the daily digest.

=====
George M. Jempty
Database Admin/Intranet Architect
Regional West Medical Center
Scottsbluff, Nebraska
[EMAIL PROTECTED][EMAIL PROTECTED]

__________________________________________________
Do You Yahoo!?
Send your FREE holiday greetings online!
http://greetings.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to