X7ROOT File Manager
Current Path:
/usr/share/perl5/pod
usr
/
share
/
perl5
/
pod
/
ðŸ“
..
📄
perl.pod
(15.89 KB)
📄
perl5004delta.pod
(54.92 KB)
📄
perl5005delta.pod
(33.48 KB)
📄
perl5100delta.pod
(54.23 KB)
📄
perl5101delta.pod
(42.86 KB)
📄
perl5120delta.pod
(87.18 KB)
📄
perl5121delta.pod
(9.9 KB)
📄
perl5122delta.pod
(9.38 KB)
📄
perl5123delta.pod
(4 KB)
📄
perl5124delta.pod
(3.59 KB)
📄
perl5125delta.pod
(7.5 KB)
📄
perl5140delta.pod
(140.94 KB)
📄
perl5141delta.pod
(7.78 KB)
📄
perl5142delta.pod
(6.73 KB)
📄
perl5143delta.pod
(7.58 KB)
📄
perl5144delta.pod
(6.18 KB)
📄
perl5160delta.pod
(130.52 KB)
📄
perl5161delta.pod
(6 KB)
📄
perl5162delta.pod
(3.51 KB)
📄
perl5163delta.pod
(3.99 KB)
📄
perl5180delta.pod
(116.63 KB)
📄
perl5181delta.pod
(6.44 KB)
📄
perl5182delta.pod
(5.21 KB)
📄
perl5184delta.pod
(4.53 KB)
📄
perl5200delta.pod
(112.99 KB)
📄
perl5201delta.pod
(10.64 KB)
📄
perl5202delta.pod
(12.22 KB)
📄
perl5203delta.pod
(9.17 KB)
📄
perl5220delta.pod
(127.89 KB)
📄
perl5221delta.pod
(10.51 KB)
📄
perl5222delta.pod
(12.33 KB)
📄
perl5223delta.pod
(8.26 KB)
📄
perl5224delta.pod
(4.36 KB)
📄
perl5240delta.pod
(63.41 KB)
📄
perl5241delta.pod
(8.02 KB)
📄
perl5242delta.pod
(4.02 KB)
📄
perl5243delta.pod
(11.16 KB)
📄
perl5244delta.pod
(4.4 KB)
📄
perl5260delta.pod
(99.45 KB)
📄
perl5261delta.pod
(7.74 KB)
📄
perl5262delta.pod
(7.7 KB)
📄
perl5263delta.pod
(6.9 KB)
📄
perl5280delta.pod
(70.42 KB)
📄
perl561delta.pod
(121.79 KB)
📄
perl56delta.pod
(104.69 KB)
📄
perl581delta.pod
(37.17 KB)
📄
perl582delta.pod
(4.37 KB)
📄
perl583delta.pod
(6.19 KB)
📄
perl584delta.pod
(7.19 KB)
📄
perl585delta.pod
(5.75 KB)
📄
perl586delta.pod
(4.54 KB)
📄
perl587delta.pod
(8.16 KB)
📄
perl588delta.pod
(24.68 KB)
📄
perl589delta.pod
(52.64 KB)
📄
perl58delta.pod
(112.47 KB)
📄
perlaix.pod
(19.96 KB)
📄
perlamiga.pod
(5.61 KB)
📄
perlandroid.pod
(7.69 KB)
📄
perlapi.pod
(433.14 KB)
📄
perlapio.pod
(18.83 KB)
📄
perlartistic.pod
(6.85 KB)
📄
perlbook.pod
(8.14 KB)
📄
perlboot.pod
(294 B)
📄
perlbot.pod
(304 B)
📄
perlbs2000.pod
(7.87 KB)
📄
perlcall.pod
(55.38 KB)
📄
perlce.pod
(14.26 KB)
📄
perlcheat.pod
(4.38 KB)
📄
perlclib.pod
(9.39 KB)
📄
perlcn.pod
(4.58 KB)
📄
perlcommunity.pod
(7.05 KB)
📄
perlcygwin.pod
(26.56 KB)
📄
perldata.pod
(45.65 KB)
📄
perldbmfilter.pod
(4.86 KB)
📄
perldebguts.pod
(37.63 KB)
📄
perldebtut.pod
(21.63 KB)
📄
perldebug.pod
(38.34 KB)
📄
perldelta.pod
(6.9 KB)
📄
perldeprecation.pod
(17.74 KB)
📄
perldiag.pod
(277.9 KB)
📄
perldos.pod
(10.28 KB)
📄
perldsc.pod
(25.01 KB)
📄
perldtrace.pod
(7.77 KB)
📄
perlebcdic.pod
(82.26 KB)
📄
perlembed.pod
(36.32 KB)
📄
perlexperiment.pod
(7.03 KB)
📄
perlfork.pod
(13.04 KB)
📄
perlform.pod
(16.22 KB)
📄
perlfreebsd.pod
(1.57 KB)
📄
perlfunc.pod
(383.75 KB)
📄
perlgit.pod
(32.72 KB)
📄
perlgpl.pod
(13.49 KB)
📄
perlguts.pod
(136.06 KB)
📄
perlhack.pod
(39.5 KB)
📄
perlhacktips.pod
(54.21 KB)
📄
perlhacktut.pod
(6.01 KB)
📄
perlhaiku.pod
(1.47 KB)
📄
perlhist.pod
(52.29 KB)
📄
perlhpux.pod
(29.79 KB)
📄
perlhurd.pod
(1.95 KB)
📄
perlintern.pod
(53.29 KB)
📄
perlinterp.pod
(32.9 KB)
📄
perlintro.pod
(21.6 KB)
📄
perliol.pod
(33.38 KB)
📄
perlipc.pod
(69.17 KB)
📄
perlirix.pod
(4.29 KB)
📄
perljp.pod
(7.34 KB)
📄
perlko.pod
(11.97 KB)
📄
perllexwarn.pod
(355 B)
📄
perllinux.pod
(1.45 KB)
📄
perllocale.pod
(67.07 KB)
📄
perllol.pod
(9.36 KB)
📄
perlmacos.pod
(1001 B)
📄
perlmacosx.pod
(11.78 KB)
📄
perlmod.pod
(25.63 KB)
📄
perlmodinstall.pod
(12.49 KB)
📄
perlmodlib.pod
(74.69 KB)
📄
perlmodstyle.pod
(22.05 KB)
📄
perlmroapi.pod
(3.14 KB)
📄
perlnetware.pod
(6.49 KB)
📄
perlnewmod.pod
(10.78 KB)
📄
perlnumber.pod
(8.16 KB)
📄
perlobj.pod
(34.7 KB)
📄
perlootut.pod
(26.16 KB)
📄
perlop.pod
(133.06 KB)
📄
perlopenbsd.pod
(1.18 KB)
📄
perlopentut.pod
(9.23 KB)
📄
perlos2.pod
(91.16 KB)
📄
perlos390.pod
(15.31 KB)
📄
perlos400.pod
(4.66 KB)
📄
perlpacktut.pod
(50.08 KB)
📄
perlperf.pod
(48.71 KB)
📄
perlplan9.pod
(5 KB)
📄
perlpod.pod
(21.68 KB)
📄
perlpodspec.pod
(66.87 KB)
📄
perlpolicy.pod
(25.03 KB)
📄
perlport.pod
(85.55 KB)
📄
perlpragma.pod
(5.05 KB)
📄
perlqnx.pod
(6.52 KB)
📄
perlre.pod
(118.07 KB)
📄
perlreapi.pod
(29.62 KB)
📄
perlrebackslash.pod
(31.07 KB)
📄
perlrecharclass.pod
(47.88 KB)
📄
perlref.pod
(34.48 KB)
📄
perlreftut.pod
(18.35 KB)
📄
perlreguts.pod
(37.43 KB)
📄
perlrepository.pod
(509 B)
📄
perlrequick.pod
(18.06 KB)
📄
perlreref.pod
(14.4 KB)
📄
perlretut.pod
(118.42 KB)
📄
perlriscos.pod
(1.49 KB)
📄
perlrun.pod
(52.29 KB)
📄
perlsec.pod
(25.57 KB)
📄
perlsolaris.pod
(29.12 KB)
📄
perlsource.pod
(6.71 KB)
📄
perlstyle.pod
(8.43 KB)
📄
perlsub.pod
(71.26 KB)
📄
perlsymbian.pod
(15 KB)
📄
perlsyn.pod
(43.47 KB)
📄
perlsynology.pod
(7.6 KB)
📄
perlthrtut.pod
(45.37 KB)
📄
perltie.pod
(37.7 KB)
📄
perltoc.pod
(677.89 KB)
📄
perltodo.pod
(376 B)
📄
perltooc.pod
(294 B)
📄
perltoot.pod
(294 B)
📄
perltrap.pod
(10.37 KB)
📄
perltru64.pod
(8.29 KB)
📄
perltw.pod
(4.37 KB)
📄
perlunicode.pod
(80.56 KB)
📄
perlunicook.pod
(24.89 KB)
📄
perlunifaq.pod
(13.33 KB)
📄
perluniintro.pod
(37.44 KB)
📄
perluniprops.pod
(278.62 KB)
📄
perlunitut.pod
(7.76 KB)
📄
perlutil.pod
(7.46 KB)
📄
perlvar.pod
(76.53 KB)
📄
perlvms.pod
(49.63 KB)
📄
perlvos.pod
(3.75 KB)
📄
perlwin32.pod
(38.38 KB)
📄
perlxs.pod
(77.07 KB)
📄
perlxstut.pod
(48.92 KB)
📄
perlxstypemap.pod
(23.44 KB)
Editing: perlmroapi.pod
=head1 NAME perlmroapi - Perl method resolution plugin interface =head1 DESCRIPTION As of Perl 5.10.1 there is a new interface for plugging and using method resolution orders other than the default (linear depth first search). The C3 method resolution order added in 5.10.0 has been re-implemented as a plugin, without changing its Perl-space interface. Each plugin should register itself by providing the following structure struct mro_alg { AV *(*resolve)(pTHX_ HV *stash, U32 level); const char *name; U16 length; U16 kflags; U32 hash; }; and calling C<Perl_mro_register>: Perl_mro_register(aTHX_ &my_mro_alg); =over 4 =item resolve Pointer to the linearisation function, described below. =item name Name of the MRO, either in ISO-8859-1 or UTF-8. =item length Length of the name. =item kflags If the name is given in UTF-8, set this to C<HVhek_UTF8>. The value is passed direct as the parameter I<kflags> to C<hv_common()>. =item hash A precomputed hash value for the MRO's name, or 0. =back =head1 Callbacks The C<resolve> function is called to generate a linearised ISA for the given stash, using this MRO. It is called with a pointer to the stash, and a I<level> of 0. The core always sets I<level> to 0 when it calls your function - the parameter is provided to allow your implementation to track depth if it needs to recurse. The function should return a reference to an array containing the parent classes in order. The names of the classes should be the result of calling C<HvENAME()> on the stash. In those cases where C<HvENAME()> returns null, C<HvNAME()> should be used instead. The caller is responsible for incrementing the reference count of the array returned if it wants to keep the structure. Hence, if you have created a temporary value that you keep no pointer to, C<sv_2mortal()> to ensure that it is disposed of correctly. If you have cached your return value, then return a pointer to it without changing the reference count. =head1 Caching Computing MROs can be expensive. The implementation provides a cache, in which you can store a single C<SV *>, or anything that can be cast to C<SV *>, such as C<AV *>. To read your private value, use the macro C<MRO_GET_PRIVATE_DATA()>, passing it the C<mro_meta> structure from the stash, and a pointer to your C<mro_alg> structure: meta = HvMROMETA(stash); private_sv = MRO_GET_PRIVATE_DATA(meta, &my_mro_alg); To set your private value, call C<Perl_mro_set_private_data()>: Perl_mro_set_private_data(aTHX_ meta, &c3_alg, private_sv); The private data cache will take ownership of a reference to private_sv, much the same way that C<hv_store()> takes ownership of a reference to the value that you pass it. =head1 Examples For examples of MRO implementations, see C<S_mro_get_linear_isa_c3()> and the C<BOOT:> section of F<ext/mro/mro.xs>, and C<S_mro_get_linear_isa_dfs()> in F<mro_core.c> =head1 AUTHORS The implementation of the C3 MRO and switchable MROs within the perl core was written by Brandon L Black. Nicholas Clark created the pluggable interface, refactored Brandon's implementation to work with it, and wrote this document. =cut
Upload File
Create Folder