From 1dd2726e3c9979f51413e9d82b9e0f335544d62a Mon Sep 17 00:00:00 2001
From: Don Armstrong <don@donarmstrong.com>
Date: Tue, 9 Dec 2003 03:30:23 +0000
Subject: [PATCH]   * 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
---
 MANIFEST             |  4 ++++
 MANIFEST.SKIP        | 17 +++++++++++++++++
 META.yml             | 10 ++++++++++
 Makefile.PL          |  7 +++++++
 lib/Class/Modular.pm | 11 ++++++-----
 5 files changed, 44 insertions(+), 5 deletions(-)
 create mode 100644 MANIFEST
 create mode 100644 MANIFEST.SKIP
 create mode 100644 META.yml
 create mode 100644 Makefile.PL

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 <don@donarmstrong.com>.
-# $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.
-- 
2.39.5