duedos | Bonjour tout le monde.Je suis débutant en perl, et je suis confronté à un problème que mes différentes recherches n'ont pas résolu. Voila, je souhaiterais savoir comment on peut utiliser dans un script une variable utilisée dans le script précédent. Je vous fais suivre mes deux scripts : secret.pl :
Code :
- #!/usr/bin/perl
- use DBI;
- use Asterisk::AGI;
- use strict;
- my $AGI = new Asterisk::AGI;
- my %input = $AGI->ReadParse();
- $AGI->exec('Playback','/usr/share/asterisk/sounds/fr/vm-login');
- my ($num) = $AGI->get_data('/usr/share/asterisk/sounds/beep',2000,2);
- my $dbh = DBI->connect("DBI:mysql:asterisk","*****","*****" );
- my $verif = $dbh->prepare("select num from messages where num=$num" );
- $verif -> execute();
- if ($num = $verif ->fetchrow)
- {
- my $mess = $dbh->prepare("select message from messages where num=$num" );
- $mess -> execute();
- my $message = $mess->fetchrow;
- $AGI -> verbose("modification de $mess\n",1);
- $AGI -> verbose("modification de $message\n",1);
- $AGI -> exec('Playback',"fr/$message" );
- $AGI -> exec('Playback','fr/dir-instr');
- $AGI -> set_priority(3);
- }
- else
- {
- $AGI -> exec('Playback','/usr/share/asterisk/sounds/fr/conf-errormenu');
- $AGI ->set_priority(2);
- }
| verif_secret.pl :
Code :
- #!/usr/bin/perl
- use DBI;
- use Asterisk::AGI;
- use strict;
- my $AGI = new Asterisk::AGI;
- my %input = $AGI->ReadParse();
- my $verif = $AGI->get_data('beep',2000,1);
- if ($verif =~ m/1/)
- {
- $AGI->exec('Playback','fr/vm-rec-temp');
- $AGI->exec('Playback','beep');
- $AGI->exec('Record',"/usr/share/asterisk/sounds/fr/$message:gsm" );
- $AGI->exec('Wait',2);
- $AGI->exec('Playback',"/usr/share/asterisk/sounds/fr/$message" );
- }
- else
- {
- $AGI->set_priority(2);
- }
|
J'utilise en fait le module AGI du logiciel Asterisk, mais mon problème vient bien de perl. Ce que je souhaite faire à l'aide de ces deux scripts, est la modification d'un message vocal. Pour cela, la personne appelant selectionne le message par le numero l'identifiant dans la base de données. On récupère son nom dans '$mess' puis dans '$message'. Le passage à verif_secret.pl sert à vérifier que ce message est bien celui à modifier, puis à réenregistrer le message en conservant le même nom, c'est à dire la chaîne de caractères '$message'. J'ai donc besoin de récupérer cette variable, issue de secret.pl, dans verif_secret.pl. J'espère avoir été suffisamment clair. Merci d'avance pour toute aide éventuelle.
|