# MAIN
use test::Foo;
my $x = new test::Foo ( 'SunSet', 'myID', 'myPassword' );
my $y = Clone($x);
my $z = $y -> Clone;
$y->{TEMPLATE} = 'SunRaise';
my $t = 'TEMPLATE';
print $$x{$t} . " " . $$y{$t} . " " . $$z{$t};
# test::Foo
package test::Foo;
use strict;
require Exporter; our @ISA = qw/Exporter/;
our @EXPORT = qw/new Clone/;
sub Clone
{ my $self ; my $class = shift;
$self -> {$_} = $class -> {$_} for (keys %$class);
return bless $self;
}
sub new
{ my $self; shift;
$self -> {TEMPLATE} = shift;
$self -> {ID} = shift;
$self -> {Pass} = shift;
bless $self;
return $self;
}
1;
Follow up on my previous post, I've get my thing cloned, but.. Is it right
way to make a clone like this ? Any more standard way to get the same
job done ?
Thanks in advise,
Bee
PS. I have no idea why I do this or what's the purpose, it just a test
for learning purpose. It's just my very first step into OOPerl...