So here I am humming a little tune, about how awesome DBIx::AnyDBD is and loading up a bunch of SQL in the __DATA__ sections of each of my modules, when I came across an anomaly: Perl supports polymorphic subroutines but uses the data section of the class where the method is found, not the data section of the class that the search for the method started in... This is problematic because you want to put the data for each module in the __DATA__ section of that module and have the one "base" subroutine use the __DATA__ sections of the appropriate subclass.
package One; sub data { print $_ while <DATA>; } 1; __DATA__ here we have the data section of One.pm package Two; our @ISA = qw(One); sub new { my $self = {}; bless $self, __PACKAGE__; } 1; __DATA__ here we have the data section of Two.pm # and a script to use them: use lib '.'; use One; use Two; my $two = Two->new; $two->data; ### and the output: $ perl script.pl here we have the data section of One.pm

Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality.


In reply to odd: __DATA__ sections are not polymorphic by princepawn

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.