0

Hi all,
I'm stuck with how to pass the return value to asterisk. That is, a value has to be passed from perl script to asterisk. The variable returned in Perl has to be passed to asterisk, where if the return value is 1 from perl , i have to do something and if return value is 0, i have to do something else.

I have written code like this.

exten => 9999,23,AGI(insert_into_database.pl|${intime}|${outtime}|${telephone_number}|${date}|${month}|${year}

in Perl Script:
******************

$fullDate = $ARGV[3]."".SARGV[4]."".$ARGV[5];
...........
........(some more code)


if($record == 0 && $rec == 0 && $pri == 0)
{
$stmt = "INSERT into $table_name values($ARGV[0],$ARGV[1],$ARGV[2],$fullDate)";
$fetch = $dbh->prepare($stmt);
$fetch->execute();
}
else
{
print "\nValues cannot be inserted in database\n\n";
}

If that "if" condition satisfies, then it has to return some value, say 0.Otherwise 1. Even if i write return 0, there in "if" condition, how can i get that value to asterisk?

Pls suggest me how to proceed.

Thanks in advance,
Padmaja T N.

2
Contributors
1
Reply
2
Views
9 Years
Discussion Span
Last Post by trudge
0

Hi all,
I'm stuck with how to pass the return value to asterisk. That is, a value has to be passed from perl script to asterisk. The variable returned in Perl has to be passed to asterisk, where if the return value is 1 from perl , i have to do something and if return value is 0, i have to do something else.

I have written code like this.

exten => 9999,23,AGI(insert_into_database.pl|${intime}|${outtime}|${telephone_number}|${date}|${month}|${year}

in Perl Script:
******************

$fullDate = $ARGV[3]."".SARGV[4]."".$ARGV[5];
...........
........(some more code)


if($record == 0 && $rec == 0 && $pri == 0)
{
$stmt = "INSERT into $table_name values($ARGV[0],$ARGV[1],$ARGV[2],$fullDate)";
$fetch = $dbh->prepare($stmt);
$fetch->execute();
}
else
{
print "\nValues cannot be inserted in database\n\n";
}

If that "if" condition satisfies, then it has to return some value, say 0.Otherwise 1. Even if i write return 0, there in "if" condition, how can i get that value to asterisk?

Pls suggest me how to proceed.

Thanks in advance,
Padmaja T N.

This doesn't look so much like a Perl question as a database question.

You are trying to insert some data into a MySQL table from the looks of your code.
What does $stmt actually contain. I would print it out to see.

You could also use the 'do' function:

$fetch=$dbh->do(qq{INSERT INTO coffees (ID,Price,Name,Section)
						VALUES ($ID,$Price,'$Name','$Section')});

Then check the value of $fetch.
'do' returns a count of the number of rows affected, or 'undef' if an error occurs.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.