Well for now I'll go with the currying solution for now... but I still hope to eventually get the smaller (at least for me) solution working. This is the currying sub I've decided to use (or at least variations on this):
sub ctest { _self(@_); #Eliminate any object that may be in the args my %opts = @_; unless(defined($opts{'code'}) && ref($opts{'code'}) eq 'CODEREF'){ return ERROR; } unless(defined($opts{'mod'})){ $opts{'mod'} = 0; } return sub { #Retun useage info if called without args return [$opts{'args'},$opts{'mod'}] if(!@_); $opts{'code'}->(@_); } } #Used as: my $coderef = ctest( args => 3, code => sub { return 1 if(int($_[0]) == $_[0]); return; } ); $coderef->(4.23);




My code doesn't have bugs, it just develops random features.

Flame ~ Lead Programmer: GMS (DOWN) | GMS (DOWN)


In reply to Re^6: custom attribute? (wrong channel) by Flame
in thread custom attribute? by Flame

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.