--- nfo/perl/libs/libp.pm 2002/08/16 19:06:39 1.4 +++ nfo/perl/libs/libp.pm 2002/11/17 07:18:59 1.6 @@ -1,8 +1,14 @@ ################################# # -# $Id: libp.pm,v 1.4 2002/08/16 19:06:39 cvsjoko Exp $ +# $Id: libp.pm,v 1.6 2002/11/17 07:18:59 joko Exp $ # # $Log: libp.pm,v $ +# Revision 1.6 2002/11/17 07:18:59 joko +# + sub deep_copy +# +# Revision 1.5 2002/10/27 18:34:28 joko +# + sub now +# # Revision 1.4 2002/08/16 19:06:39 cvsjoko # + sub getDirList # @@ -31,6 +37,8 @@ croak array_getDifference getDirList + now + deep_copy ); use strict; @@ -204,4 +212,21 @@ # ============================================= +sub now { + return strftime("%Y-%m-%d %H:%M:%S", localtime); +} + +sub deep_copy { + my $this = shift; + if (not ref $this) { + $this; + } elsif (ref $this eq "ARRAY") { + [map deep_copy($_), @$this]; + } elsif (ref $this eq "HASH") { + +{map { $_ => deep_copy($this->{$_}) } keys %$this}; + } elsif (ref $this eq "CODE") { + $this; + } else { die "what type is $_?" } +} + 1;