NAME Function::Fallback::CoreOrPP - Functions that use non-core XS module but provide pure-Perl/core fallback VERSION version 0.03 SYNOPSIS use Function::Fallback::CoreOrPP qw(clone uniq); my $clone = clone({blah=>1}); my @uniq = uniq(1, 3, 2, 1, 4); # -> (1, 3, 2, 4) DESCRIPTION This module provides functions that use non-core XS modules (for best speed, reliability, feature, etc) but falls back to those that use core XS or pure-Perl modules when the non-core XS module is not available. This module helps when you want to bootstrap your Perl application with a portable, dependency-free Perl script. In a vanilla Perl installation (having only core modules), you can use App::FatPacker to include non-core pure-Perl dependencies to your script. FUNCTIONS clone($data) => $cloned Try to use Data::Clone's "clone" (because it's the fastest) but, when not available, fall back to Clone::PP's "clone". uniq(@ary) => @uniq_ary Try to use List::MoreUtils's "uniq", but fall back to using slower, pure-Perl implementation. SEE ALSO Clone::Any can also uses multiple backends, but I avoid it because I don't think Storable's "dclone" should be used (no Regexp support out of the box + must use deparse to handle coderefs). HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.