Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: How can I add private data/methods in parent class?

by PodMaster (Abbot)
on Jun 22, 2004 at 07:02 UTC ( [id://368630]=note: print w/replies, xml ) Need Help??


in reply to How can I add private data/methods in parent class?

I tried to find out on Net and found out there are modules present public, private, but if I want to implement without using those modules, how can I implement this feature?
Why don't you look inside those modules to see how they work?

This is not a very easy problem to solve in perl. Here's one possible approach (though not foolproof):

use strict; package BOB; use Carp; use base 'IO::File'; use overload(); sub _pRiVaTish { my $self = shift; my ($package, $filename, $line) = caller; carp "YOU MUST NOT CALL THIS METHOD YOU, YOU AIN'T BOB!!!" unless $filename eq __FILE__ and 0 == index overload::StrVal($self), __PACKAGE__,0; return 'beep'; } package BIB; use vars '@ISA'; @ISA='BOB'; 1; package main; my $bib = BIB->new(); $bib->_pRiVaTish(); __END__ YOU MUST NOT CALL THIS METHOD YOU, YOU AIN'T BOB!!! at private.methods +.pl line 28
And just in case(:

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.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2024-04-19 09:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found