camel

�Ȥ����櫓�ǡ��Ҥ������֤�ξ����ź��Υ����ʡ��Ǥ�������ϡ�Storable�˴ؤ��ơ�

[��] Perl �� Storable �⥸�塼��Υ��
store [ $first->{uhyo}, $first->{hogera} ], "a.dat";

coding���Τ�Τ�����Ϥ���ޤ��󤬡�damian�ܤˤ�ܤäƤ��ʤ�best practice�򤳤��ǰ�ľҲ𤷤ޤ��礦��

Always use nstore and nfreeze instead of store and freeze.
���nstore��nfreeze��Ȥ�����store��freeze�ǤϤʤ���

��ͳ�ϡ������������äȤĤ֤�����������Ǥ���Ƭ��n��Ĥ�������ǡ�platform��¸���ʤ��ʤ�ΤǤ��������餽������ܤˤ����ޤ��礦��

server - nfreeze.cgi
#!/usr/local/bin/perl -Tw
use strict;
use warnings;
use CGI;
# use CGI::Carp 'fatalsToBrowser';
use Storable qw(nfreeze);

my $q      = CGI->new;
my $frozen = nfreeze $q;

print 
    $q->header(
               -type           => 'application/x-storable',
               -content_length => length($frozen),
               ), 
    $frozen;

__END__
client - lwp-thaw.pl
#!/usr/local/bin/perl
use strict;
use warnings;
use Storable qw(thaw);
use LWP::Simple;
use Data::Dumper;

my $uri    = shift;
my $frozen = get($uri);
my $obj    = thaw $frozen;
print Dumper $obj;

__END__

����ǡ�lwp��remote object���äƤ������뤳�Ȥ�����ޤ�����äƤߤޤ��礦��

% ./lwp-thaw.pl http://dan-albook.local/~dankogai/cgi/nfreeze.cgi
$VAR1 = bless( {
                 '.parameters' => [],
                 '.charset' => 'ISO-8859-1',
                 '.fieldnames' => {},
                 'escape' => 1
               }, 'CGI' );
% ./lwp-thaw.pl http://dan-albook.local/~dankogai/cgi/nfreeze.cgi\?foo=bar\&foo=baz\&test=src
$VAR1 = bless( {
                 '.parameters' => [
                                    'foo',
                                    'test'
                                  ],
                 'test' => [
                             'src'
                           ],
                 '.charset' => 'ISO-8859-1',
                 'foo' => [
                            'bar',
                            'baz'
                          ],
                 '.fieldnames' => {},
                 'escape' => 1
               }, 'CGI' );

���������ܤ��Ƥ������������Τϡ���¦��PowerPC Mac����¦��Intel Mac���Ȥ������ȤǤ����ɤ��Ǥ������򤤤Ǥ���?

�Ȥ�������nfreeze��freeze�ˤ��������ǡ������ʤä��㤦�ΤǤ���

% ./lwp-thaw.pl http://dan-albook.local/~dankogai/cgi/freeze.cgi
Byte order is not compatible at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/thaw.al) line 366, at ./lwp-thaw.pl line 10

�����ʤΤǤ��������Ǥ��̤Υޥ����(store|freeze)������Τ�(retrieve|thaw)���Ȥ����񤬤���ʤ顢�Ϥ��ᤫ��(nstore|nfreeze)���Ȥ������������ΤǤ�������ϡ�NFS Server��𤷤ơ������ܥ�������ʾ��ξ���ޤ�ޤ���������Τ褦�˥ޥ����upgrade��������ޤߤޤ���performance penalty��ۤȤ�ɸ������ϰϡ�n�ʤ��С������ϤϤ��ᤫ��Ȥ�ʤ��褦�ˤ��Ƥ���������̵��Ǥ���

�ǡ����ߴ����ϡ������ɸߴ������⤵��˽��פǤ⤢��ޤ����Ϥ��ᤫ��ָ���ɤ�פ������褦�������ޤ��礦��

Dan the Too Wierd to be Storable