in reply to Re^2: Using an object's value instead of a global variable
in thread Using an object's value instead of a global variable

I do not think that this is a good idea but:

The module (with a stupid name for my purposes):

package _424188; require Exporter; our @ISA = qw[ Exporter ]; our @EXPORT = qw[ the_mascot ]; my $data = { ANIMAL => "camel" }; sub the_mascot { print<<"END"; Hey, did you know that Perl\'s mascot is a: $data->{ANIMAL} END } sub new { my $class = shift; return bless $data, $class; } sub animal { my $self = shift; $self->{ANIMAL} = $_[0]; } sub mascot { the_mascot(); } 1;

And a program that uses it:

#! perl -slw use strict; use _424188; the_mascot(); my $obj = new _424188; $obj->mascot; $obj->animal( 'dromadary' ); $obj->mascot; the_mascot(); __END__ P:\test>424188 Hey, did you know that Perl's mascot is a: camel Hey, did you know that Perl's mascot is a: camel Hey, did you know that Perl's mascot is a: dromadary Hey, did you know that Perl's mascot is a: dromadary

Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.

Replies are listed 'Best First'.
Re^4: Using an object's value instead of a global variable
by jacques (Priest) on Jan 23, 2005 at 02:34 UTC
    Nice. I never thought of it in that way... thanks