-
123456789
Message Sent
-
12345
Error: Incorrect phone number
####
sub parse_return_xml
{
logger("DEBUG","Sub Parse Return XML");
my $message;
my $i=0;
my @phone;
my @content;
my @bad;
my $xml = @_;
logger("DEBUG","$xml");
logger("DEBUG","Creating XML::Parser Object");
my $parser = new XML::Parser(Handlers => {
Start => \&start_tag,
End => \&end_tag,
Char => \&do_char
});
$parser->parse($xml);
sub start_tag {
logger("DEBUG","start_tag");
my ($p, $elt, %atts) = @_;
return unless $elt eq 'Content' || $elt eq 'Phone_no';
$atts{'_str'} = '';
$message = \%atts;
}
sub end_tag {
logger("DEBUG","end_tag");
my ($p, $elt) = @_;
format_message($message) if ($elt eq 'Content' || $elt eq 'Phone_no') && $message;
}
sub do_char {
logger("DEBUG","do_char");
my ($p, $str) = @_;
$message->{'_str'} .= $str;
}
sub format_message
{
logger("DEBUG","Sub Format_message");
logger("DEBUG","\$i = $i");
my $atts = shift;
logger("DEBUG",$atts->{'_str'});
if ($atts->{'_str'} =~ /err/i)
{
$bad[$i] = $phone[$i];
} else {
$bad[$i] = 'holymoly';
}
if ($atts->{'_str'} =~ /[0..9]/)
{
$phone[$i] = $atts->{'_str'};
}
if ($atts->{'_str'} =~ /[a..zA..Z]/)
{
$content[$i] = $atts->{'_str'};
$i++;
}
}
}