2
如何複製/克隆已被「祝福」的對象ref?例如,我有複製perl對象參考
my $html = HTML::PullParser->new(file => $file, text => 'text');
然後我想通過
$html->get_token();
遍歷該$html
對象多次因此,我試圖做的就是複製對象第一:
use Clone qw(clone);
my $html1 = clone($html);
my $html2 = clone($html);
然後我嘗試迭代新對象:
while ($html1->get_token()) {
# do something
}
while ($html2->get_token()) {
# do something else
}
但很明顯,該對象不會被複制(或者至少不會以正確的方式複製),這樣我就不會在任何一個循環中獲得任何迭代。
什麼是複製此對象的正確方法?
Thx !!
我知道我可以按照您的建議運行多個解析。該文件很大,因此解析需要很長時間。我認爲複製,如果有一個乾淨的方式去做,會節省時間。特別是,如果我想按照您的建議在迭代中間分支,那麼創建多個新的分析器將無濟於事。 – Zhang18
@ Zhang18,我建議找到一些解決不涉及克隆解析器的問題的方法。例如,您可以將由'get_token'返回的令牌保存在一個數組中,然後多次遍歷數組。如果你解釋你想要完成的事情(也許在一個新問題中),或許我們可以幫助你找到一個更好的方法。 – cjm
將標記保存到數組是一種很好的想法,它以某種方式逃脫了我。非常感謝。 – Zhang18