我正在使用可以比较两个XML文档的Perl mod XML :: SemanticDiff。我想写我自己的自定义处理程序,但是,对于Perl来说相对较新,我不知道如何执行此操作。Perl Handler有很好的介绍吗?
我明白,处理程序只不过是在某些事件发生时被调用的子程序。但是我对这些事件如何调用我的代码中的方法的实现细节很模糊。
例如,基本实现该模块的喜欢的东西开始:
my $diff = XML::SemanticDiff->new(keepdata=> 1, keeplinenums => 1, diffhandler => 1);
my @changes = $diff->compare($file1, $file2);
我知道,我的自定义处理程序会是这个样子:
sub element_value($self, $element, $to_element_properties, $fromdoc_element_properties) {
my ($self, @args) = @_;
}
但确实有需要是干预代码实际调用这个子?喜欢的东西,
foreach my $change (@changes) {
$change->element_value(some_arguements_here);
}
或者是在执行$diff->compare($file1, $file2);
处理程序自动的叫什么?
任何指针将不胜感激。
感谢您的详细回复。 –