Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: Importing variables (not functions) from in-file packages

by puterboy (Scribe)
on Feb 12, 2014 at 18:37 UTC ( #1074661=note: print w/ replies, xml ) Need Help??


in reply to Re: Importing variables (not functions) from in-file packages
in thread Importing variables (not functions) from in-file packages

Ahhh interesting. I didn't know that one could step in & out of a package multiple times. Thanks


Comment on Re^2: Importing variables (not functions) from in-file packages
Re^3: Importing variables (not functions) from in-file packages
by tobyink (Abbot) on Feb 12, 2014 at 21:29 UTC

    Yup - and you don't even need to do so at the "top level". package statements can appear within blocks. Like...

    package main; use strict; use warnings; { package Person; use Data::Dumper (); # load, but import nothing! sub new { my $class = shift; bless {@_}, $class; } sub dump { my $self = shift; package Data::Dumper; # The following line is executed in Data::Dumper, # so it can see the "Dumper" sub defined there! print Dumper($self); } # We're back to the Person package here because # the closing brace ended the Data::Dumper package printf "Line %d is in package %s\n", __LINE__, __PACKAGE__; } # And now we're back to the main package. printf "Line %d is in package %s\n", __LINE__, __PACKAGE__; my $bob = Person->new(name => 'Robert'); $bob->dump;
    use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1074661]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (13)
As of 2015-07-06 12:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (73 votes), past polls