Voilà, j'utilise un petit script pour faire un backup de fichiers
séquentiels.
Donc, voilà, j'utilise File::Find pour ne sélectionner que les fichiers
souhaités. Or, je me rend compte à l'usage que File::Find ne prend pas
les fichiers dans l'ordre lexicographique, mais dans un autre ordre ! Je
voudrais donc savoir quel est cet ordre mystérieux et s'il y a moyen de
demander à File::Find d'utiliser l'ordre lexicographique.
C'est assez important dans mon script. Je peux bien entendu m'en passer,
et faire différemment, mais ce serait quand même plus simple avec un
usage direct de File::Find !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond.Schmit
Le Wed, 2 Jun 2004 23:16:57 +0200, amaguk écrivait:
Bonjour,
Voilà, j'utilise un petit script pour faire un backup de fichiers séquentiels. Donc, voilà, j'utilise File::Find pour ne sélectionner que les fichiers souhaités. Or, je me rend compte à l'usage que File::Find ne prend pas les fichiers dans l'ordre lexicographique, mais dans un autre ordre ! Je voudrais donc savoir quel est cet ordre mystérieux et s'il y a moyen de demander à File::Find d'utiliser l'ordre lexicographique. C'est assez important dans mon script. Je peux bien entendu m'en passer, et faire différemment, mais ce serait quand même plus simple avec un usage direct de File::Find !
Je ne comprends pas grand chose dans la doc de perl(c'est fort nébuleux pour moi), mais ceci devrait te convenir (extrait de la doc sur file::find preprocess
The value should be a code reference. This code reference is used to preprocess a directory; it is called after readdir() but before the loop that calls the wanted() function. It is called with a list of strings and is expected to return a list of strings. The code can be used to sort the strings alphabetically, numerically, or to filter out directory entries based on their name alone.
Le Wed, 2 Jun 2004 23:16:57 +0200, amaguk <edipreto@skynet.be>
écrivait:
Bonjour,
Voilà, j'utilise un petit script pour faire un backup de fichiers
séquentiels.
Donc, voilà, j'utilise File::Find pour ne sélectionner que les fichiers
souhaités. Or, je me rend compte à l'usage que File::Find ne prend pas
les fichiers dans l'ordre lexicographique, mais dans un autre ordre ! Je
voudrais donc savoir quel est cet ordre mystérieux et s'il y a moyen de
demander à File::Find d'utiliser l'ordre lexicographique.
C'est assez important dans mon script. Je peux bien entendu m'en passer,
et faire différemment, mais ce serait quand même plus simple avec un
usage direct de File::Find !
Je ne comprends pas grand chose dans la doc de perl(c'est fort
nébuleux pour moi), mais ceci devrait te convenir (extrait de la doc
sur file::find
preprocess
The value should be a code reference. This code reference is used to
preprocess a directory; it is called after readdir() but before the
loop that calls the wanted() function. It is called with a list of
strings and is expected to return a list of strings. The code can be
used to sort the strings alphabetically, numerically, or to filter out
directory entries based on their name alone.
Le Wed, 2 Jun 2004 23:16:57 +0200, amaguk écrivait:
Bonjour,
Voilà, j'utilise un petit script pour faire un backup de fichiers séquentiels. Donc, voilà, j'utilise File::Find pour ne sélectionner que les fichiers souhaités. Or, je me rend compte à l'usage que File::Find ne prend pas les fichiers dans l'ordre lexicographique, mais dans un autre ordre ! Je voudrais donc savoir quel est cet ordre mystérieux et s'il y a moyen de demander à File::Find d'utiliser l'ordre lexicographique. C'est assez important dans mon script. Je peux bien entendu m'en passer, et faire différemment, mais ce serait quand même plus simple avec un usage direct de File::Find !
Je ne comprends pas grand chose dans la doc de perl(c'est fort nébuleux pour moi), mais ceci devrait te convenir (extrait de la doc sur file::find preprocess
The value should be a code reference. This code reference is used to preprocess a directory; it is called after readdir() but before the loop that calls the wanted() function. It is called with a list of strings and is expected to return a list of strings. The code can be used to sort the strings alphabetically, numerically, or to filter out directory entries based on their name alone.
Paul GABORIT
À (at) Wed, 2 Jun 2004 23:16:57 +0200, amaguk écrivait (wrote):
Or, je me rend compte à l'usage que File::Find ne prend pas les fichiers dans l'ordre lexicographique, mais dans un autre ordre ! Je voudrais donc savoir quel est cet ordre mystérieux et s'il y a moyen de demander à File::Find d'utiliser l'ordre lexicographique.
Cet ordre "mystérieux" est celui dans lequel les fichiers sont enregistrés dans le répertoire que vous explorez. Cet ordre dépend du filesystem utilisé et de l'ordre dans lequel les fichiers ont été créés et détruits.
Le paramètre 'preprocess' de 'find' devrait vous convenir.
À (at) Wed, 2 Jun 2004 23:16:57 +0200,
amaguk <edipreto@skynet.be> écrivait (wrote):
Or, je me rend compte à l'usage que File::Find ne prend pas les fichiers
dans l'ordre lexicographique, mais dans un autre ordre ! Je voudrais donc
savoir quel est cet ordre mystérieux et s'il y a moyen de demander à
File::Find d'utiliser l'ordre lexicographique.
Cet ordre "mystérieux" est celui dans lequel les fichiers sont enregistrés
dans le répertoire que vous explorez. Cet ordre dépend du filesystem utilisé
et de l'ordre dans lequel les fichiers ont été créés et détruits.
Le paramètre 'preprocess' de 'find' devrait vous convenir.
--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>
À (at) Wed, 2 Jun 2004 23:16:57 +0200, amaguk écrivait (wrote):
Or, je me rend compte à l'usage que File::Find ne prend pas les fichiers dans l'ordre lexicographique, mais dans un autre ordre ! Je voudrais donc savoir quel est cet ordre mystérieux et s'il y a moyen de demander à File::Find d'utiliser l'ordre lexicographique.
Cet ordre "mystérieux" est celui dans lequel les fichiers sont enregistrés dans le répertoire que vous explorez. Cet ordre dépend du filesystem utilisé et de l'ordre dans lequel les fichiers ont été créés et détruits.
Le paramètre 'preprocess' de 'find' devrait vous convenir.