我有一个数据文件,仅包含来自PHP的序列化数据(特别是serialize关键字)。现在,我需要阅读它并使用一些perl代码进行处理。
我该怎么做呢?
这是一个简单的例子,说明数据如何进入数据文件:
$ar = ["category" => "Ser", "dewey" => "001.12", "title" => "Doesn't Matter"];
$sar = serialize($ar);
file_put_contents("data.ser", $sar);
最佳答案
使用CPAN中的PHP::Serialization。
该站点的一个示例:
use PHP::Serialization qw(serialize unserialize);
my $encoded = serialize({ a => 1, b => 2});
my $hashref = unserialize($encoded);
如果您可以控制如何将数据写到数据文件,请考虑使用其他方法,json编码的数据更简洁,而xml更具描述性。如果能够做到这一点,那么您可能会使用更可靠的模块。另外,您还应该能够从其他平台/语言加载/操作数据。
关于php - 如何使用Perl读取序列化的php数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22481972/