Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

It's one of the reasons I wrote vars::i

by PodMaster (Abbot)
on Dec 18, 2003 at 15:53 UTC ( #315545=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Foo is not a Bar, why?
in thread Foo is not a Bar, why?

It's one of the reasons I wrote vars::i

my $foo = Foo->new; print "foo is".($foo->isa( 'Bar' ) ? '' : ' _not_')." a Bar\n"; package Bar; sub null {} package Foo; use vars::i qw[ @ISA Bar ]; sub new { bless {},shift } __END__ foo is a Bar

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.


Comment on It's one of the reasons I wrote vars::i
Download Code
Re: It's one of the reasons I wrote vars::i
by bart (Canon) on Dec 18, 2003 at 22:46 UTC
    That's all good and dandy, but even tough your module looks useful (and generic), I can't say I like the resulting interface — i.e. the use statement. I'd rather see something like this:
    use strict; package Foo; use isa qw(Bar); sub new { bless {},shift }

    The module isa.pm can actually quite short:

    # file isa.pm package isa; sub import { my $pkg = shift; my $caller = caller; no strict 'vars'; push @{"$caller\::ISA"}, @_; } 42;
    Et voilà:
    foo is a Bar
    

    Of course, with base doing the same and more, I don't know if there's much need for this here module.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://315545]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2015-07-06 01:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (68 votes), past polls