전역 변수를 Perl의 서브 루틴 내에서 선언 할 수 있는지 궁금해서 그 변수를 후킹 된 void 함수에서 사용할 수 있지만, 그것은 서브 루틴에서 선언했습니다.perl의 서브 루틴에서 전역 변수 선언하기
그래서 서브 루틴은 유사한 방식으로, 요소의 무리의 ID를 수집 XML::Parser
사용 : 나는 또한 내 스크립트에 strict
을 사용하고
sub getRecipeIDs {
my $recipe = shift;
my @elements =();
my $parser = new XML::Parser(Style => 'Tree',
Handlers => {
Start => sub {
my ($expat, $element, %attrs) = @_;
if ($element eq 'recipe') {
push @elements, $attrs{id};
}
}});
$parser->parse($recipe);
return @elements;
}
.
따라서 @elements
을 로컬로 getRecipeIDs
에 국한되지만 익명 서브 루틴에서 볼 수 있도록 선언하고 싶습니다.
감사합니다. 도움을 주시면 감사하겠습니다.
'perldoc -f local'을 참조하십시오. – shawnhcorey