Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

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

by PodMaster (Abbot)
on Dec 18, 2003 at 15:53 UTC ( [id://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.

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://315545]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-04-23 20:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found