Bonjour.

Tout d'abord je tiens à préciser que j'ai déja éplucher la multitude de post traitant de l'appel de l'execution de script .pl par le biais d'interface web , mais aucun n'a réussi à résoudre mon problème.

J'ai donc un script .pl que je veut lancer depuis une url du type https://.../perl/monscript.pl.

J'ai donc une petite page html du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<html>
<head>
</head>
<body>
 
<FORM action="https://xxx/aff.pl" method=POST>
<INPUT type="submit" value="MOULINETTE!!">
</FORM>
 
</body>
</html
Cependant , quand je clique sur le bouton , mon navigateur me propose uniquement de télécharger ce fichier. Or , moi je souhaite le lancer uniquement.

Voici mon script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/perl
 
 
use CGI;
use warnings;
use strict;
use Net::LDAP;
use DBI;
 
############# DB ################
 my $BaseDeDonnees = "/var/lib/asterisk/astsqlite";
 my $NomHote       = "localhost";
 my $login         = "";
 my $MotDePass     = "";
#################################
 
############LDAP################
my $ldap = Net::LDAP->new("x",port =>389, version => 3) or die "Impossible de contacter le serveur $@";
my $mesg = $ldap->bind("cn=Manager,dc=x,dc=fr",password => "toto");
$mesg->code && die $mesg->error;
################################
 
 
 
#=====db
 
my $dbh=DBI->connect( "dbi:SQLite2:dbname=$BaseDeDonnees;host=$NomHote;",,)
    or die "Connection impossible à la base de donnees $BaseDeDonnees !";
 
my $sth = $dbh->prepare("SELECT lastname,firstname,number FROM userfeatures");
 
$sth->execute();
my @row=$sth->fetchrow_array;
 
  print "\n## Debut de la recuperation des utilisateurs Asterisk ##\n\n";
 while (@row = $sth->fetchrow_array)
 {
        print "@row[0..2]\n";
 
 
 
$mesg = $ldap->add("cn=@row[0,1],ou=asterisk,dc=x,dc=fr",
        attr => [
 
                    cn => "@row[0,1]",
                    sn => "@row[0,1]",
                    homePhone => $row[2],
                    displayName => "@row[0,1]",
                    objectClass => ['top','AsteriskSIPUser','inetOrgPerson'],
        ]
                        );
 
  }
  print "\n## Fin de la recuperation ##\n";
Commment faire pour que , dés que je clique sur mon bouton , le script se lance ?

J'imagine que mon problème vient de l'utilisation de CGI , mais je ne comprend pas trop son utilisation.

J'ai tenté de faire un petit programme tout bete utilisant CGI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#!/usr/bin/perl
#
use strict; use warnings;
use CGI qw/:standard/;
 
 print header,
   start_html('Page de test : Hello world !'),
     p('Hello world !'),
       end_html;
Mais le résultat est le meme , la navigateur me propose de télécharger le script et ne me l'execute pas

Best regards,