From: Graham Knop Date: Sun, 10 Nov 2013 19:18:45 +0000 (-0500) Subject: document importing to level X-Git-Tag: v1.002000~11 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FImport-Into.git;a=commitdiff_plain;h=9f39bd722eb803aeff0b567a10b921daa4f36448 document importing to level --- diff --git a/lib/Import/Into.pm b/lib/Import/Into.pm index a9f4a6c..a59ce66 100644 --- a/lib/Import/Into.pm +++ b/lib/Import/Into.pm @@ -43,11 +43,13 @@ Import::Into - import packages into other packages use Thing1 (); use Thing2 (); + use Thing3 (); sub import { my $target = caller; Thing1->import::into($target); Thing2->import::into($target, qw(import arguments)); + Thing3->import::into(1); # import to level } Note: you don't need to do anything more clever than this provided you @@ -73,6 +75,11 @@ C on it. This is a global method, and is callable on any package (and in fact on any object as well, although it's rarer that you'd want to do that). +If you provide C with an integer instead of a package name, it +will be used as the number of stack frames to skip to find where to export to. +This has the advantage of preserving the apparent filename and line number +being exported to, which some modules (L, L) check. + Finally, we also provide an C to allow the exporting of the effect of C: