Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: package Foo; isa Bar; why not?

by Kageneko (Scribe)
on Dec 22, 2003 at 18:51 UTC ( #316444=note: print w/replies, xml ) Need Help??


in reply to package Foo; isa Bar; why not?

Here's a variation I came up with using Filter::Simple:

package Filter::ISA; use Filter::Simple; FILTER_ONLY code => sub { if ( /package\s+(.+?)\s+isa\s+(.+?);/g ) { my $name = $1; my $base = $2; if ( $name !~ /;/ ) { $base =~ s/,/ /go; s/package $name isa (.+);/package $name; use base qw( $base );/o +; } } }; 1;

It lets one do things like:

package A isa B; package D isa E,F;

I'm kinda tempted to post it to CPAN now, but I imagine there's a lot better stuff out there :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://316444]
help
Chatterbox?
[markong]: " Perl: the Markov chain saw" :D aha
[Discipulus]: thanks 1nickt but seems i'm not able to use it correctly...
[Discipulus]: Eily i'm testing a failure: i ok if i get bad results.. perhaps there is another way to do it...
[Discipulus]: in other words: i have a contructor that carps on missing arguments and I want to test that it fails correctly, without carping out in the test output

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2018-01-22 11:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How did you see in the new year?










    Results (233 votes). Check out past polls.

    Notices?