Требуется написать функцию принимающую на вход ссылку на какую либо структуру данных и отдающую, в качестве результата, ее точную независимую копию. Это значит, что ни один элемент результирующей структуры не может ссылаться на элементы исходной, но при этом она должна в точности повторять ее схему.
Входные данные:
- undef
- строка
- число
- ссылка на массив
- ссылка на хеш Элементами ссылок на массив и хеш, могут быть любые из указанных выше конструкций. Любые отличные от указанных типы данных -- недопустимы. В этом случае результатом клонирования должен быть undef.
Выходные данные:
- undef
- строка
- число
- ссылка на массив
- ссылка на хеш Элементами ссылок на массив или хеш, не могут быть ссылки на массивы и хеши исходной структуры данных.
Файлы:
- lib/DeepClone.pm - место для реализации функции клонирования
- bin/clone - скрипт для проверки алгоритма