in reply to Are global variables "bad"?

I was recently trying to explain OOP to my dad, who's an old fortran programmer. One of the things I said was, "it's a way to have global variables without the danger."

I wouldn't recommend making your object by hand the old fashioned way. I'd try one of the nifty packages that do a lot of the grunt work. The only one that pops into my head right now is Moose, but I know there are others.

Re: singleton,

{ my $foo; sub set_foo { $foo = shift; } sub get_foo { return $foo; } }
Is that a singleton? If so, I never knew the name.

How would closures fit in this conversation? It seem like they'd be a middle-point between a singleton and an object.

sub make_accessor { my $foo; return sub { my $in = shift; if defined($in) { $foo = $in; } return $foo; } }

Thanks
--Pileofrogs