Récupérer extension d'un fichier - Perl - Programmation
Marsh Posté le 19-06-2015 à 14:33:31
Je te laisse cogiter sur ce que fait ce programme: 
| Code : 
 | 
 
A+, 
 
Marsh Posté le 19-06-2015 à 14:37:00
Tu as déjà posé pratiquement la même question: http://forum.hardware.fr/hfr/Progr [...] 3889_1.htm
Tu prends la réponse de gilou et tu adaptes, soit transformer en regex "simple" et modifier la place des parenthèses.
EDIT: Regarde chez gilou, j'ai dit des bêtises. :-(
Marsh Posté le 19-06-2015 à 14:43:05
Je pensais qu'il y avait une solution plus simple pour récupérer une extension ! 
 
Comme par exemple en shell ou je ferai : 
 
echo toto.txt |awk -F "." '{print $NF}' 
 
Ou dans le même esprit, en perl récupérer juste le nom de fichier sans l'extension avec la commande : 
 
$fichier =~ s/(.+)\.[^.]+/$1/; 
 
Il n'y a pas une commande plus simple ?
Marsh Posté le 19-06-2015 à 15:23:42
Dans le même esprit, tu aurais bien $fichier =~ s/^.*[^.]\.([^.]+)$/$1/; mais le problème, c'est qu'il n'y a pas toujours une extension, et que quand il n'y en a pas, ça foire. Alors il faut bien tester avec un if à un moment donné. 
 
Dans la pratique en fait, pour ce genre de chose, on utilise le module standard File::Basename qui est le truc standard pour les noms de fichiers & co 
 
A+,
Marsh Posté le 19-06-2015 à 15:33:38
Ok merci. C'est exactement ça que je voulais. 
Il y aura toujours une extension donc aucun soucis ! 
 
Merci encore pour ton aide. 
 
@+
Marsh Posté le 19-06-2015 à 12:22:51
Bonjour,
J'aimerais récupérer l'extension d'un fichier.
J'ai un fichier << toto.txt >>. Je voudrais juste récupérer << txt >>.
J'ai un peu de mal avec les expressions régulières donc est-ce quelqu'un pourrait m'aider svp ?
Merci d'avance.