diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/debian-unstable/man3/parent.3perl | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man3/parent.3perl')
-rw-r--r-- | upstream/debian-unstable/man3/parent.3perl | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/parent.3perl b/upstream/debian-unstable/man3/parent.3perl new file mode 100644 index 00000000..3c3e74b1 --- /dev/null +++ b/upstream/debian-unstable/man3/parent.3perl @@ -0,0 +1,160 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "parent 3perl" +.TH parent 3perl 2024-01-12 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +parent \- Establish an ISA relationship with base classes at compile time +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 2 +\& package Baz; +\& use parent qw(Foo Bar); +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +Allows you to both load one or more modules, while setting up inheritance from +those modules at the same time. Mostly similar in effect to +.PP +.Vb 6 +\& package Baz; +\& BEGIN { +\& require Foo; +\& require Bar; +\& push @ISA, qw(Foo Bar); +\& } +.Ve +.PP +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, you +can tell \f(CW\*(C`parent\*(C'\fR not to load any modules by using the \f(CW\*(C`\-norequire\*(C'\fR switch: +.PP +.Vb 2 +\& package Foo; +\& sub exclaim { "I CAN HAS PERL" } +\& +\& package DoesNotLoadFooBar; +\& use parent \-norequire, \*(AqFoo\*(Aq, \*(AqBar\*(Aq; +\& # will not go looking for Foo.pm or Bar.pm +.Ve +.PP +This is equivalent to the following code: +.PP +.Vb 2 +\& package Foo; +\& sub exclaim { "I CAN HAS PERL" } +\& +\& package DoesNotLoadFooBar; +\& push @DoesNotLoadFooBar::ISA, \*(AqFoo\*(Aq, \*(AqBar\*(Aq; +.Ve +.PP +This is also helpful for the case where a package lives within +a differently named file: +.PP +.Vb 3 +\& package MyHash; +\& use Tie::Hash; +\& use parent \-norequire, \*(AqTie::StdHash\*(Aq; +.Ve +.PP +This is equivalent to the following code: +.PP +.Vb 3 +\& package MyHash; +\& require Tie::Hash; +\& push @ISA, \*(AqTie::StdHash\*(Aq; +.Ve +.PP +If you want to load a subclass from a file that \f(CW\*(C`require\*(C'\fR would +not consider an eligible filename (that is, it does not end in +either \f(CW\*(C`.pm\*(C'\fR or \f(CW\*(C`.pmc\*(C'\fR), use the following code: +.PP +.Vb 3 +\& package MySecondPlugin; +\& require \*(Aq./plugins/custom.plugin\*(Aq; # contains Plugin::Custom +\& use parent \-norequire, \*(AqPlugin::Custom\*(Aq; +.Ve +.SH HISTORY +.IX Header "HISTORY" +This module was forked from base to remove the cruft +that had accumulated in it. +.SH CAVEATS +.IX Header "CAVEATS" +.SH "SEE ALSO" +.IX Header "SEE ALSO" +.IP base 4 +.IX Item "base" +.PD 0 +.IP parent::versioned 4 +.IX Item "parent::versioned" +.PD +A fork of parent that provides version checking in parent class modules. +.SH "AUTHORS AND CONTRIBUTORS" +.IX Header "AUTHORS AND CONTRIBUTORS" +Rafaƫl Garcia-Suarez, Bart Lateur, Max Maischein, Anno Siegel, Michael Schwern +.SH MAINTAINER +.IX Header "MAINTAINER" +Max Maischein \f(CW\*(C` corion@cpan.org \*(C'\fR +.PP +Copyright (c) 2007\-2017 Max Maischein \f(CW\*(C`<corion@cpan.org>\*(C'\fR +Based on the idea of \f(CW\*(C`base.pm\*(C'\fR, which was introduced with Perl 5.004_04. +.SH LICENSE +.IX Header "LICENSE" +This module is released under the same terms as Perl itself. |