SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG
DONATE


YUM REPOSITORY

 
 

MAN page from CentOS 6 psrk-perl-parent-0.223-27.5.noarch.rpm

parent

Section: Perl Programmers Reference Guide (3pm)
Updated: 2011-06-07
Index 

NAME

parent - Establish an ISA relationship with base classes at compile time 

SYNOPSIS

    package Baz;    use parent qw(Foo Bar);
 

DESCRIPTION

Allows you to both load one or more modules, while setting up inheritance fromthose modules at the same time. Mostly similar in effect to

    package Baz;    BEGIN {        require Foo;        require Bar;        push @ISA, qw(Foo Bar);    }

By default, every base class needs to live in a file of its own.If you want to have a subclass and its parent class in the same file, youcan tell "parent" not to load any modules by using the "-norequire" switch:

  package Foo;  sub exclaim { "I CAN HAS PERL" }  package DoesNotLoadFooBar;  use parent -norequire, 'Foo', 'Bar';  # will not go looking for Foo.pm or Bar.pm

This is equivalent to the following code:

  package Foo;  sub exclaim { "I CAN HAS PERL" }  package DoesNotLoadFooBar;  push @DoesNotLoadFooBar::ISA, 'Foo', 'Bar';

This is also helpful for the case where a package lives withina differently named file:

  package MyHash;  use Tie::Hash;  use parent -norequire, 'Tie::StdHash';

This is equivalent to the following code:

  package MyHash;  require Tie::Hash;  push @ISA, 'Tie::StdHash';

If you want to load a subclass from a file that "require" wouldnot consider an eligible filename (that is, it does not end ineither ".pm" or ".pmc"), use the following code:

  package MySecondPlugin;  require './plugins/custom.plugin'; # contains Plugin::Custom  use parent -norequire, 'Plugin::Custom';
 

DIAGNOSTICS

Class 'Foo' tried to inherit from itself
Attempting to inherit from yourself generates a warning.

    use Foo;    use parent 'Foo';
 

HISTORY

This module was forked from base to remove the cruftthat had accumulated in it. 

CAVEATS

 

SEE ALSO

base 

AUTHORS AND CONTRIBUTORS

Rafae.l Garcia-Suarez, Bart Lateur, Max Maischein, Anno Siegel, Michael Schwern 

MAINTAINER

Max Maischein " corionAATTcpan.org "

Copyright (c) 2007 Max Maischein "<corionAATTcpan.org>"Based on the idea of "base.pm", which was introduced with Perl 5.004_04. 

LICENSE

This module is released under the same terms as Perl itself.


 

Index

NAME
SYNOPSIS
DESCRIPTION
DIAGNOSTICS
HISTORY
CAVEATS
SEE ALSO
AUTHORS AND CONTRIBUTORS
MAINTAINER
LICENSE

This document was created byman2html,using the manual pages.