Clone-PP

From Free Software Directory
 
Jump to: navigation, search


[edit]

Clone-pp

https://metacpan.org/release/Clone-PP
module to recursively copy Perl datatypes

Clone::PP provides a general-purpose clone function to make deep copies of Perl data structures. It calls itself recursively to copy nested hash, array, scalar and reference types, including tied variables and objects.

The clone() function takes a scalar argument to copy. To duplicate arrays or hashes, pass them in by reference:

my $copy = clone(\@array); my @copy = @{ clone(\@array) }; my $copy = clone(\%hash); my %copy = %{ clone(\%hash) };

The clone() function also accepts an optional second parameter that can be used to limit the depth of the copy. If you pass a limit of 0, clone will return the same value you supplied; for a limit of 1, a shallow copy is constructed; for a limit of 2, two layers of copying are done, and so on.

This is a pure-perl implementation. For a faster XS-/C-based implementation see the libclone-perl package.





Licensing

License

Verified by

Verified on

Notes

License

Other

Verified by

Debian: Salvatore Bonaccorso <carnil@debian.org>

Verified on

23 July 2014

Notes

License: artistic or gpl-1+




Leaders and contributors

Contact(s)Role
Neil Bowers contact


Resources and communication

AudienceResource typeURI
Perl (Ref)https://metacpan.org/release/Clone-PP
Debian (Ref) (R)https://tracker.debian.org/pkg/libclone-pp-perl


Software prerequisites




Entry








"contact" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.


"Debian (Ref) (R)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Perl (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.






Date 2015-07-17
Source Debian
Source link http://packages.debian.org/sid/libclone-pp-perl

[[Category:]]



Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.