xml::parser 模块的几个问题请教

xml::parser 模块的几个问题请教

xml::parser 模块的几个问题请教
一小段代码:
#!/usr/local/bin/perl
use XML::Parser; 
my $parser = new XML::Parser; 
$data=$parser->parsefile(‘data.xml’); 
$parser->setHandlers( Start => \&startElement,  
                End => \&endElement,
                Char => \&characterData,        
                Default => \&default);
sub startElement {
my( $parseinst, $element, %attrs ) = @_;
SWITCH: {
if ($element eq "article") {
$count++;
$tag = "article";
print "Article $count:\n";
last SWITCH;
}
if ($element eq "title") {
print "Title: ";
$tag = "title";
last SWITCH;
}
.......................
.......................
 
这里调用了构造函数new,那么函数将返回一个引用(对象),该引用跟data.xml作为parsefil的两个参数,parsefileile函数的作用在这里到底是什么??我想是不是把xml文件数据赋给即对象?

然后是自定义的几个函数,例如 startElement ,其参数有$parseinst,它应该是$parser 把,但实际代码中没出现它,而仅仅是$element,所以我想问这个参数$parser 有实际意义么? 我想肯定有,因为调用包XML::Parser里面的方法(函数)时,函数的第一个参数有种情况(虚方法)是对象,但怎么体现了,





   

高人快回答我啊!.
看了source code 这个问题.
看了source code 这个问题差不多清楚了!