1Exporter::Declare::ExpoUrste(r3pCmo)ntributed Perl DocumEexnptoarttieorn::Declare::Export(3pm)
2
3
4
6 Exporter::Declare::Export - Base class for all export objects.
7
9 All exports are refs, and all are blessed. This class tracks some per-
10 export information via an inside-out objects system. All things an
11 export may need to do, such as inject itself into a package are handled
12 here. This allows some complicated, or ugly logic to be abstracted out
13 of the exporter and metadata classes.
14
16 $class->new( $ref, exported_by => $package, %data )
17 Create a new export from $ref. You must specify the name of the
18 class doing the exporting.
19
20 $export->inject( $package, $name, @args )
21 This will inject the export into $package under $name. @args are
22 ignored in most cases. See Exporter::Declare::Export::Generator for
23 an example where they are used.
24
25 $package = $export->exported_by()
26 Returns the name of the package from which this export was
27 originally exported.
28
29 @params = $export->required_specs()
30 Documented for subclassing purposes. This should always return a
31 list of required parameters at construction time.
32
33 $export->DESTROY()
34 Documented for subclassing purposes. This takes care of cleanup
35 related to storing data in an inside-out objects system.
36
38 Chad Granum exodist7@gmail.com
39
41 Copyright (C) 2010 Chad Granum
42
43 Exporter-Declare is free software; Standard perl licence.
44
45 Exporter-Declare is distributed in the hope that it will be useful, but
46 WITHOUT ANY WARRANTY; without even the implied warranty of
47 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license
48 for more details.
49
50
51
52perl v5.38.0 2023-07-20 Exporter::Declare::Export(3pm)