diff options
author | Adriano Ferreira <a.r.ferreira@gmail.com> | 2007-01-26 10:56:18 -0200 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2007-01-26 16:06:47 +0000 |
commit | 236a07384c9350a4f32ab88626ab91b5ab551f1e (patch) | |
tree | 60f850d9ba80b2d74af9e107a17fbb43e30a6763 /lib/File | |
parent | 520c99e2af40711b1b614f245b1d24dd5d1bde96 (diff) | |
download | perl-236a07384c9350a4f32ab88626ab91b5ab551f1e.tar.gz |
Re: [perl #32135] File::Copy module
From: "Adriano Ferreira" <a.r.ferreira@gmail.com>
Message-ID: <73ddeb6c0701260656i1c35b207r1f9624edd3503fa6@mail.gmail.com>
p4raw-id: //depot/perl@30013
Diffstat (limited to 'lib/File')
-rw-r--r-- | lib/File/Copy.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/File/Copy.pm b/lib/File/Copy.pm index d87c191c6f..e34657cdaa 100644 --- a/lib/File/Copy.pm +++ b/lib/File/Copy.pm @@ -23,7 +23,7 @@ sub mv; # package has not yet been updated to work with Perl 5.004, and so it # would be a Bad Thing for the CPAN module to grab it and replace this # module. Therefore, we set this module's version higher than 2.0. -$VERSION = '2.09'; +$VERSION = '2.10'; require Exporter; @ISA = qw(Exporter); @@ -64,6 +64,14 @@ sub _catname { return File::Spec->catfile($to, basename($from)); } +# _eq($from, $to) tells whether $from and $to are identical +# works for strings and references +sub _eq { + return $_[0] == $_[1] if ref $_[0] && ref $_[1]; + return $_[0] eq $_[1] if !ref $_[0] && !ref $_[1]; + return ""; +} + sub copy { croak("Usage: copy(FROM, TO [, BUFFERSIZE]) ") unless(@_ == 2 || @_ == 3); @@ -82,7 +90,7 @@ sub copy { || UNIVERSAL::isa($to, 'IO::Handle')) : (ref(\$to) eq 'GLOB')); - if ($from eq $to) { # works for references, too + if (_eq($from, $to)) { # works for references, too carp("'$from' and '$to' are identical (not copied)"); # The "copy" was a success as the source and destination contain # the same data. |