```{index} single: Clone; Perl module ``` # Clone ```{pperl-module-badges} Clone ``` Make a deep, independent copy of any Perl value — hashes, arrays, scalars, references, blessed objects, tied variables, and weak references. `clone` walks a data structure recursively and returns a fresh copy. Shared references inside the input become shared references inside the copy (no accidental duplication), circular structures are reproduced without infinite recursion, weak references come out still weak, and tied variables keep their tie. Modifying the clone never touches the original. For pure-Perl deep copies, `Clone` is typically faster than `Storable::dclone` on shallow to medium-depth structures (roughly three levels or fewer). ## Synopsis ```perl use Clone qw(clone); my $copy = clone($original); # function form package Foo; use parent 'Clone'; my $other = $obj->clone; # method form (inherited) ``` ## Functions ### Cloning #### [`clone`](Clone/clone) Return a deep, independent copy of a Perl value. ```{toctree} :hidden: :maxdepth: 1 Clone/clone ```