OK, I have some code that could badly do with optimising via SelfLoader.

The program is an admin panel with a bunch of different screens. The structure is more or less like this:

# Do preparatory stuff, then &screens; &{ $screens{ $current_screen } } sub screens{ %screens = ( main => sub { ... main screen subroutine ... }, foo => sub { ... screen for foo ... }, # etc. etc. etc. ); }

Okay, so I am not sure if this was ideal, but it works quite nicely and I am not gonna change it, it's beta tested and all.

My question is, is there anyway to use selfloader so that only the relevant subroutine gets compiled? This would SERIOUSLY speed up the whole thing. I could do it by changing all the hash values to be refs to named subroutines, which would then go after __DATA__, but this would be a big hassle and not v extensible. Any neater tricks?

xxx
dave

PS: I am actually dash2 but have forgot my password and email is slow. Not that you would know who dash2 is.


In reply to selfloader and anonymous subroutines by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.