我有一个数据文件,其中只包含来自PHP的序列化数据(特别是serialize关键字)。我现在需要阅读它并使用一些perl代码。
我该怎么做?
这是数据如何进入数据文件的一个愚蠢的例子:
$ar = ["category" => "Ser", "dewey" => "001.12", "title" => "Doesn't Matter"];
$sar = serialize($ar);
file_put_contents("data.ser", $sar);
答案 0 :(得分:6)
使用CPAN中的PHP::Serialization。
网站上的一个例子:
use PHP::Serialization qw(serialize unserialize);
my $encoded = serialize({ a => 1, b => 2});
my $hashref = unserialize($encoded);
如果您可以控制数据如何写入数据文件,请考虑使用其他方法,json编码数据更简洁,xml更具描述性。如果您能够这样做,您可能拥有可以使用的更可靠的模块;此外,您还应该能够从其他平台/语言加载/操作您的数据。