From: Don Armstrong Date: Tue, 9 Dec 2003 03:30:23 +0000 (+0000) Subject: * Added svn:keyword Id LastChangedRevision X-Git-Url: https://git.donarmstrong.com/?p=class_modular.git%2F.git;a=commitdiff_plain;h=1dd2726e3c9979f51413e9d82b9e0f335544d62a * Added svn:keyword Id LastChangedRevision * Added MANIFEST, META.yml, Makefile.PL and MANIFEST.SKIP git-svn-id: file:///srv/don_svn/class_modular/trunk@11 96c6a18b-02ce-0310-9fca-9eb62c757ba6 --- diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 0000000..3eb124a --- /dev/null +++ b/MANIFEST @@ -0,0 +1,4 @@ +lib/Class/Modular.pm +Makefile.PL +MANIFEST This list of files +META.yml Module meta-data (added by MakeMaker) diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP new file mode 100644 index 0000000..03fd6d6 --- /dev/null +++ b/MANIFEST.SKIP @@ -0,0 +1,17 @@ +# Version control files and dirs. +\bRCS\b +\bCVS\b +,v$ +\B\.svn\b + +# Makemaker generated files and dirs. +^MANIFEST\. +^Makefile$ +^blib/ +^MakeMaker-\d + +# Temp, old and emacs backup files. +~$ +\.old$ +^#.*#$ +^\.# diff --git a/META.yml b/META.yml new file mode 100644 index 0000000..d62cec2 --- /dev/null +++ b/META.yml @@ -0,0 +1,10 @@ +# http://module-build.sourceforge.net/META-spec.html +#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# +name: Class-Modular +version: 0.1 +version_from: lib/Class/Modular.pm +installdirs: vendor +requires: + +distribution_type: module +generated_by: ExtUtils::MakeMaker version 6.17 diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..ed0cb46 --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,7 @@ +#! /usr/bin/perl + +use ExtUtils::MakeMaker; + +WriteMakefile(NAME => 'Class::Modular', + VERSION_FROM => 'lib/Class/Modular.pm', + ); diff --git a/lib/Class/Modular.pm b/lib/Class/Modular.pm index 7977e7e..4bd2d15 100644 --- a/lib/Class/Modular.pm +++ b/lib/Class/Modular.pm @@ -2,7 +2,7 @@ # under the terms of the GPL version 2, or any later version. See the # file README and COPYING for more information. Copyright 2003 by Don # Armstrong . -# $Id: Modular.pm,v 1.8 2003/12/09 02:00:10 don Exp $ +# $Id$ package Class::Modular; @@ -50,10 +50,11 @@ use vars qw($VERSION $DEBUG); use Carp; -use Data::Copy qw(deep_copy); # Used for deep copying objects +use Storable qw(dclone); # Used for deep copying objects BEGIN{ - ($VERSION) = q$Revision: 1.8 $ =~ /\$Revision:\s+([^\s+])/; + $VERSION = '0.1'; + ($REVISION) = q$LastChangedRevision$ =~ /\$LastChangedRevision:\s+([^\s+])/; $DEBUG = 0 unless defined $DEBUG; } @@ -245,8 +246,8 @@ sub clone { bless $clone, ref($self); # copy data structures at this level - $clone->{_methodhash} = deep_copy($self->{_methodhash}); - $clone->{_subclasses} = deep_copy($self->{_subclasses}); + $clone->{_methodhash} = dclone($self->{_methodhash}); + $clone->{_subclasses} = dclone($self->{_subclasses}); foreach my $subclass (keys %{$self->{_subclasses}}) { # use eval to try and call the subclasses _clone method.