Bon alors j'ai créé une petite fonction qui demande à l'utilisateur le chemin d'accès d'un fichier, avec en arguments une phrase de requête, une phrase en cas de non indication d'un chemin d'accès et un test à effectuer (soit en lecture, soit en écriture). Voici la fonction :
Code :
- sub requete_fichier() {
- ($phrase,$phrase2,$test)=@_;
- print "$phrase";
- $fichier=<STDIN>;
- chomp($fichier);
- if ($fichier eq '')
- {
- print "$phrase2";
- requete_fichier($phrase,$phrase2,$test);
- }
- elsif ($test eq 'L' &&!open F, ("< $fichier" ))
- {
- print "le fichier specifie n'existe pas ! ";
- requete_fichier($phrase,$phrase2,$test);
- }
- elsif ($test eq 'W' &&!open F, ("> $fichier" ))
- {
- print "Le fichier specifie n'est pas accessible en ecriture. ";
- requete_fichier($phrase,$phrase2,$test);
- }
- return $fichier;
- }
|
ce qui me chiffonne c'est que ceci marche :
Code :
- $fichier=requete_fichier('Quel fichier souhaitez vous analyser ? ','Vous devez choisir un fichier a analyser. ','L');
|
parcontre ceci déconne (too many arguments for main::requete_fichier...) :
Code :
- $fichier=requete_fichier('a','b','W');
|
Est-ce que quelqu'un peut m'éclairer ?
Message édité par Yagmoth le 17-11-2006 à 00:39:26