GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CLASS::BLACKHOLE (3)

.ds Aq ’

NAME

Class::BlackHole - base class to treat unhandled method calls as no-ops

CONTENTS

SYNOPSIS



  use Class::BlackHole;

  # set up a class X, to inherit from Class::BlackHole
  @X::ISA = qw(Class::BlackHole);
  # put a method in it
  sub X::zaz { 123123; }
 
  print "Zaz is <", X->zaz, ">\n";
  print "Flork is <", X->flork, ">\n";
  print "can zaz : <", X->can(zaz), ">\n";
  print "can flork : <", X->can(flork), ">\n";
 
 
  The above code prints:
   Zaz is <123123>
   Flork is <>
   can zaz : <CODE(0x392c7d4)>
   can flork : <>



DESCRIPTION

Normally, if you try to call a method that there’s no handler for, you get an error:



  Cant locate object method "flork" via package "X".



But for classes that inherit from Class::BlackHole, unhandled methods become just no-operations.

CAVEATS

Be sure to have Class::BlackHole be the absolute last item in your class’s ISA list.

This class will almost definitely not work right as part of any ISA tree that has multiple inheritance.

IMPLEMENTATION

Class::BlackHole just traps everything with an AUTOLOAD sub that is a no-operation.

HOWEVER, what makes Class::Blackhole different than merely:



  @Class::BlackHole::ISA = ();
  sub Class::BlackHole::AUTOLOAD { }



is that this would (unhappily) trap calls to the helpful methods in UNIVERSAL, like can, VERSION, and isa. Class::BlackHole aliases those methods (or better said, all subs in package UNIVERSAL) into its own package, so that they’ll be accessible instead of being caught by the AUTOLOAD.

FUNCTIONS AND METHODS

This module provides no functions or methods.

It exports no symbols into the calling package or anywhere else.

DISCLAIMER

This program is distributed in the hope that it will be useful, but <B>without any warrantyB>; without even the implied warranty of <B>merchantabilityB> or <B>fitness for a particular purposeB>.

But let me know if it gives you any problems, OK?

COPYRIGHT

Copyright 1999, 2000, Sean M. Burke sburke@cpan.org, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Sean M. Burke sburke@cpan.org
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CLASS::BLACKHOLE (3) 2004-12-30

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.