Accéder à un répertoire
imad_2ii
-
imad_2ii -
imad_2ii -
Bonjour,
je débute en PERL, et je n'arrive pas à entrer dans un répertoire pour pouvoir créer des fichiers à l'interieur et biensur resortir et passer à un autre répertoire;
en résumé jongler avec différents répertoires;
Merci d'avance;
imad
je débute en PERL, et je n'arrive pas à entrer dans un répertoire pour pouvoir créer des fichiers à l'interieur et biensur resortir et passer à un autre répertoire;
en résumé jongler avec différents répertoires;
Merci d'avance;
imad
10 réponses
-
Salut,
Tu devrais donner un peu plus de précisions.
Voici un exemple de création d'un fichier vide en dehors de répertoire courant
lami20j@debian-acer:~/perl$ ls -l /mnt/sda7/txt/fichier_test.txt ls: impossible d'accéder à /mnt/sda7/txt/fichier_test.txt: Aucun fichier ou dossier de ce type lami20j@debian-acer:~/perl$ cat creer_fic.pl #!/usr/bin/perl use strict;use warnings; open "F", ">/mnt/sda7/txt/fichier_test.txt" or die "E/S : $!\n"; close F; __END__ lami20j@debian-acer:~/perl$ perl creer_fic.pl lami20j@debian-acer:~/perl$ ls -l /mnt/sda7/txt/fichier_test.txt -rw-r--r-- 1 lami20j lami20j 0 8 mai 20:11 /mnt/sda7/txt/fichier_test.txt lami20j@debian-acer:~/perl$ file /mnt/sda7/txt/fichier_test.txt /mnt/sda7/txt/fichier_test.txt: empty lami20j@debian-acer:~/perl$
-
Bonjour,
Merci lami20j pour ta réponse rapide;
en faite, j'aimerai pouvoir changer de répertoire entrer dedans, créer un fichier et écrire dedans;
et bien sur pouvoir ressortir et changer de répertoire pour pouvoir y travailler;
Merci !! -
C bon, j'ai réussi à créer un fichier dans un autre répertoire, merci
J'aurai une question :)
J'AI esseyé d'utiliser les inputs, je m'explique : demander d'entrer un nom, utiliser ce nom pour un dossier et un fichier.txt;
mais j'ai des erreurs, tel que : <gras>Global symbol "$comp_nom" requires explicit package name at /home/irahal/Bureau/perl-test/repertoire.pl line 6.
merciii -
RE;
j'ai réglé tous ces petits problèmes;
mais celui ci, je ne sais vraiment pas comment faire,
le blem est assé simple : je fait un print pour ecrire dans un fichier
j'ai cette ligne : INC = include/$comp_nom.h
le $comp_nom est une variable (un nom)
le .h s'affiche toujours en dessous du nom, et je ne sais pas comment faire pour le remettre au meme niveau que le nom de ma var !!!!
merci-
Salut,
demander d'entrer un nom, utiliser ce nom pour un dossier
Si je comprends biens $comp_nom contient ce que tu entre au clavier?
Voici un exemplelami20j@debian-acer:~$ cat var.pl #!/usr/bin/perl use strict;use warnings; print "Entrez un mot: "; my $comp_nom=<STDIN>; # ici .h s'affiche en dessous puisque lorsque je tape le mot # j'appuie sur Entrer pour valider et le saute de ligne sera # contenu par la variable print "*" x 20,"\n"; print "$comp_nom.h\n"; #ici j'enlève le saute de ligne \n contenu dans la variable # et l'affichage se fait sur une seul ligne print "*" x 20,"\n"; chomp($comp_nom); print "$comp_nom.h\n"; __END__ lami20j@debian-acer:~$ perl var.pl Entrez un mot: aaa ******************** aaa .h ******************** aaa.h
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Bonjour,
j'ai mon script perl qui marche bien sous linux, mais sous windows, il ya une erreur au niveau du mkpath,
il me dis invalide argument;
voici une partie du code :
#!/usr/bin/perl -w
use strict;
use File::Path;
print " Nom du Composant :\n";
my $comp_nom = <>;
print " Description du composant: \n";
my $description = <>;
print"Auteur : ";
my $Auteur = <>;
my $guillemet = <">;
my $dollar = '$';
mkpath(["$comp_nom/include","$comp_nom/obj"],1) or die ("Err. Cr. répertoire \n"); -
Bonjour,
avant toutes chose, je n'ai toujours pas trouver pour quoi mon script (juste au-dessus) ne marche (il ne reconnait pas ma var $comp_nom);
j'ai une autre question, plus intéressant:
dans ma fenêtre de commande j'aimerai entrer le nom de mon script et juste à coté ajouter des paramètres genre (-- nom=... --descript=... --author=...) comme pour le prefix dans ./configure;
que sa soit fait d'une manière automatique;
Merci d'avance !!! -
Salut,
Je n'ai pas encore testé sous Windowslami20j@debian-acer:~$ ls -l trash/ total 0 lami20j@debian-acer:~$ cat var.pl #!/usr/bin/perl use warnings;use strict; use File::Path; print "Nom du Composant : "; chomp(my $comp_nom = <>); print "Description du composant : "; chomp(my $description = <>); print"Auteur : "; chomp(my $Auteur = <>); my $guillemet = '"'; my $dollar = '$'; mkpath(["/home/lami20j/trash/$comp_nom/include","/home/lami20j/trash/$comp_nom/obj"],1) or die ("Err. Cr. répertoire \n"); lami20j@debian-acer:~$ perl var.pl Nom du Composant : repertoire Description du composant : aaa Auteur : xxx mkdir /home/lami20j/trash/repertoire mkdir /home/lami20j/trash/repertoire/include mkdir /home/lami20j/trash/repertoire/obj lami20j@debian-acer:~$ ls -l trash/ total 4 drwxr-xr-x 4 lami20j lami20j 4096 May 14 03:35 repertoire lami20j@debian-acer:~$ ls -l trash/repertoire/ total 8 drwxr-xr-x 2 lami20j lami20j 4096 May 14 03:35 include drwxr-xr-x 2 lami20j lami20j 4096 May 14 03:35 obj
j'aimerai entrer le nom de mon script et juste à coté ajouter des paramètres genre (-- nom=... --descript=... --author=...) comme pour le prefix dans ./configure;
Il s'agit des options longues GNU.
Pour ça il faut utiliser le module Getopt::Long
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108 -
Merci Beaucoup, c'était un problème de chomp;
sinon j'essai un script avec une interface graphique (utilisation de Tk), il marche tres bien sous linux; mais sous windows il ne trouve pas Tk/event.pm, sachant que je l'ai bien installé; -
j'ai trouver la solution pour faire entrer le nom dans ma fenetre de commande (script.pl --nom), en utilisant ARGV[], le probleme est que je ne sais pas comment ecrire nom = et lui attribuer argv[] ??