Bonjour
j'ai un problème avec mes scripts perls et j'aurais bien besoin d'un coup de pouce.
J'ai d'un coté un script d'upload qui fonctionne nickel via un formulaire.
De l'autre j'ai un script de traitement qui s'applique sur un fichier , qui l'ouvre et chope un certains nombres d'informations dessus.Le script de traitement fonctionne quand je l'appel ds le shell en l'éxécutant sur un fichier style : C:\perl scripttraitement.pl nomdufichieràtraiter
J'aimerai en fait combiner les deux : c'est à dire charger dans mon formulaire le fichieràtraiter pour qu'il l'upload , ouvre le fichier en lecture pou le traiter sans avoir a passer par le shell...
J'ai bidouillé à mort et jm'en sort pas alors j'appel à l'aide
voila si quelqu'un peut m'aider , c'est vraimment cool ...
merci bonne soirée
Voila le script appelé par le formulaire:
Voila le coe HTML du formulaire
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 #!/usr/bin/perl use CGI; $upload_dir = "/upload"; $query = new CGI; $filename = $query->param("nomdufichieràtraiter"); $filename =~ s/.*[\/\\](.*)/$1/; $upload_filehandle = $query->upload("nomdufichieràtraiter"); open UPLOADFILE, ">$upload_dir/$filename"; binmode UPLOADFILE; while ( <$upload_filehandle> ) { print UPLOADFILE; } close UPLOADFILE; print $query->header ( ); print <<END_HTML; <HTML> <HEAD> <TITLE>Thanks!</TITLE> </HEAD> <BODY> <P>Nickel t'as uploadé gamin</P> </BODY> </HTML> END_HTMLvoila mon script de traitement que jusqu'à présent je fais marcher dans le shell sur le fichieràtraiter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <HTML> <HEAD></HEAD> <BODY> <FORM ACTION="upload.cgi" METHOD="post" ENCTYPE="multipart/form-data"> Fichier à uploader: <INPUT TYPE="file" NAME="nomdufichieràtraiter"> <INPUT TYPE="submit" NAME="Submit" VALUE="Submit Form"> </FORM> </BODY> </HTML>
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 #!/usr/bin/perl sub tableau_texte{ my $fichier1=$_[0]; my $fich= "essai.txt"; open BOB, '>', $fich or die "Couldn't open $fich : $!\n"; open YEAST, "$fichier1"; while (<YEAST>){ if(($_=~/^>\s(\d)\:(\d+)-(\d+)\s(\W)/) and ($lignePrecedente==1)){ if($1!=1){ close $fichier1; close (BOB); return; } } if($_=~/^>\s(\d)\:(\d+)-(\d+)\s(\W)/){ if($1==1){@ligne=($4.$2,$4.$3);} if($1<$nbGenome && $1!=1){push(@ligne,$4.$2,$4.$3);} if($1==$nbGenome){ push(@ligne,$4.$2,$4.$3); print BOB ("@ligne\n"); } } if($_=~/^=/){$lignePrecedente=1;} else{$lignePrecedente=0;} } close YEAST; close BOB; } tableau_texte ($ARGV[0]);
Partager