暂时存档,以后再细化
在Perl中,怎麼簡單的儲存資料。如果你只想單純的把一些資料記下,又不想勞師動眾的安裝巨大的資料庫,還要煩惱資料庫的規劃。隨手使用Storable也許是個不錯的解決方式。
store \%table, 'file'; # 傾印 \%table 到二進制檔案 file
$hashref = retrieve('file'); # 讀回 \%table
nstore \%table, 'file'; # 跨平台的傾印格式
$hashref = retrieve('file'); # 相同的讀法
store_fd \@array, \*STDOUT; # 存進檔案代號
nstore_fd \%table, \*STDOUT; # 存進檔案代號(跨平台)
$aryref = fd_retrieve(\*SOCKET); # 從網路 socket 讀取
$hashref = fd_retrieve(\*SOCKET); # 從網路 socket 讀取
$serialized = freeze \%table; # 存進純量變數中
%clone = %{ thaw($serialized) }; # 解開成等價的雜湊
$cloneref = dclone($ref); # 也可以這樣寫
lock_store \%table, 'file'; # 非強制式鎖定寫入
lock_nstore \%table, 'file'; # 同上(跨平台)
$hashref = lock_retrieve('file'); # 非強制式鎖定讀取
#!/usr/bin/perl -w
use lib "../lib/perl5";
use Storable;
use Storable qw(freeze thaw);
use Data::Dumper;
my %test;
$test{name} = "xiaoming";
$test{age} = 10;
$test{sed} = "famle";
$test{se} = "famle";
store \%test, "hash.file";
my $hash_ref = retrieve("hash.file");
my $seri = freeze(\%test);
my $re_seri = thaw($seri);
#print Dumper($hash_ref);
#print Dumper($re_seri);
print Dumper($seri);
阅读(2639) | 评论(0) | 转发(0) |