in reply to
Using function modules and passing arguments by parsing an XML.
I'm not quite sure of your requirement but this may help:
sub startElement {
my( $parseinst, $element, %attrs ) = @_;
SWITCH: {
# ...
if ($element eq "step") {
my $command = $attrs{command};
$command =~ s/\s+//g; # get rid of spaces
if ($command eq 'LaunchApp') {
MyModule::LaunchApp(%attrs);
}
elsif ($command eq 'Changemode') {
MyModule::Changemode(%attrs);
}
# and so on for each command
last SWITCH;
}
}
}
# This is your functions module
package MyModule;
sub LaunchApp {
my %attrs = @_;
print "\n----\nIn Sub MyModule::LaunchApp\n";
for my $attr (keys %attrs) {
print "$attr: $attrs{$attr}\n";
}
print "Leaving Sub MyModule::LaunchApp\n----\n";
}
sub Changemode {
my %attrs = @_;
print "\n----\nIn Sub MyModule::Changemode\n";
for my $attr (keys %attrs) {
print "$attr: $attrs{$attr}\n";
}
print "Leaving Sub MyModule::Changemode\n----\n";
}
1;