我正在使用可以比較兩個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);
處理程序自動的叫什麼?
任何指針將不勝感激。
感謝您的詳細回覆。 –