Perl   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl – 如何创建数据结构的可重复签名?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一种情况,我想创建一个数据结构的签名: @H_457_2@my $signature = ds_to_sig( { foo => 'bar',baz => 'bundy',boing => undef,number => 1_234_567,} );

目的应该是,如果数据结构发生变化,那么应该签名.

有没有确定的方法来做到这一点?

解决方法

最好的方法是使用像 Storable这样的深层次的序列化系统.具有相同数据的两个结构将产生相同的可存储输出的Blob,因此可以进行比较.
#!/usr/bin/perl

use Strict;
use warnings;

use Storable ('freeze');

$Storable::canonical = 1;

my $one = { foo => 42,bar => [ 1,2,3 ] };
my $two = { foo => 42,3 ] };

my $one_s = freeze $one;
my $two_s = freeze $two;

print "match\n" if $one_s eq $two_s;

…并证明逆向:

$one = [ 4,5,6 ];
$one_s = freeze $one;

print "no match" if $one_s ne $two_s;

大佬总结

以上是大佬教程为你收集整理的perl – 如何创建数据结构的可重复签名?全部内容,希望文章能够帮你解决perl – 如何创建数据结构的可重复签名?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。