Существует много разных способов сохранить структуру данных в скаляре, а затем «восстановить» ее обратно в исходное состояние.У каждого есть свои преимущества и недостатки.
Поскольку вы начали с JSON, я покажу вам пример использования.
use JSON;
my $hash = {
test_string => 'apples,bananas,oranges',
test_subhash => { like => 'apples' },
test_subarray => [ red, yellow, orange ]
}
my $stored = encode_json($hash);
my $restored = decode_json($stored);
Сохраняемость, как уже было предложено, также является хорошимидея.Но это может быть довольно странно.Здорово, если вы просто хотите, чтобы ваш собственный скрипт / система сохранял и восстанавливал данные, но помимо этого, это может быть неприятно.Даже передача данных между различными операционными системами может вызвать проблемы.Было рекомендовано использовать заморозку, и для большинства локальных приложений это правильный вызов.Если вы решили использовать Storable для отправки данных на несколько компьютеров, вместо этого обратите внимание на использование nfreeze.
При этом существует масса методов кодирования, которые могут обрабатывать «хранение» структур данных.Посмотрите на YAML или XML.