The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Tie::DataDumper - Stores your object when untied via DataDumper

SYNOPSIS

use Tie::DataDumper;
{
    tie my $scalar => 'Tie::DataDumper', 'scalar.pl';
    $scalar = 42;
} # scalar is automatically saved as 'scalar.pl'.
{
    tie my @array => 'Tie::DataDumper', 'array.pl';
    @array = qw(Sun Mon Tue Wed Fri Sat);
} # array is automatically saved as 'array.pl'.
{
    tie my %hash => 'Tie::DataDumper', 'hash.pl';
    %hash = (Sun=>0, Mon=>1, Tue=>2, Wed=>3, Thu=>4, Fri=>5, Sat=>6);
} # hash is automatically saved as 'hash.pl'.
{
    tie my $object => 'Tie::DataDumper', 'object.pl';
    $object = bless { First => 'Dan', Last => 'Kogai' }, 'DANKOGAI';
} # You can save an object; just pass a scalar
{
    tie my $object => 'Tie::DataDumper', 'object.pl';
    $object->{WIFE} =  { First => 'Naomi', Last => 'Kogai' };
    # you can save before you untie like this
    tied($object)->save;
}

DESCRIPTION

Tie::DataDumper stores tied variables when untied. Usually that happens when you variable is out of scope. You can of course explicitly untie the variable or tied($variable)->save but the whole idea is not to forget to save it.

This module uses DataDumper as its backend so it can store and retrieve anything that DataDumper can.

SECURITY

This module uses eval() on loading saved files. That means there is a security risk of executing malicious codes. DO NOT USE THIS MODULE FOR ANYTHING SERIOUS. This module is just a proof-of-concept, example module to show how to make use of Tie::SaveLater.

SEE ALSO

Tie::SaveLater, Tie::Storable, Tie::YAML

perltie, Tie::Scalar, Tie::Array, Tie::Hash

AUTHOR

Dan Kogai, <dankogai@dan.co.jp>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Dan Kogai

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.