OVH Cloud OVH Cloud

perl -0 ?

4 réponses
Avatar
Laurent
Bonjour,

Quelles sont les valeurs que peut prendre le perl -0NUM_OCT ? J'ai
regardé dans "la programation en Perl, 3 edition" et rien.

--
Laurent

4 réponses

Avatar
Paul GABORIT
À (at) 07 Jun 2004 16:57:15 GMT,
Laurent écrivait (wrote):
Quelles sont les valeurs que peut prendre le perl -0NUM_OCT ? J'ai
regardé dans "la programation en Perl, 3 edition" et rien.


N'importe quelle valeur (en octale) est acceptée.

Pour en savoir plus, lire 'perlrun' :

-0[digits]
specifies the input record separator ($/) as an octal
number. If there are no digits, the null character is
the separator. Other switches may precede or follow
the digits. For example, if you have a version of find
which can print filenames terminated by the null
character, you can say this:

find . -name '*.orig' -print0 | perl -n0e unlink

The special value 00 will cause Perl to slurp files in
paragraph mode. The value 0777 will cause Perl to
slurp files whole because there is no legal character
with that value.

Ce qui donne en français :


-0[digits]
indique le séparateur denregistrment en entrée ($/) en notation
octale. S'il n'y a pas de chiffres, le caractère nul (ASCII 0) est le
séparateur. D'autres options peuvent suivre ou précéder les
chiffres. Par exemple, si vous avez une version de find qui peut
afficher les noms de fichiers terminés par des caratères nul, vous
pouvez écrire ceci:

find . -name '*.orig' -print0 | perl -n0e unlink

La valeur spéciale 00 va indiquer à Perl d'avaler les fichiers en mode
paragraphes. La valeur 0777, indique à Perl d'avaler les fichiers en
entier car il n'y a pas de caractère avec cette valeur octale.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Laurent
In article , Paul GABORIT wrote:

À (at) 07 Jun 2004 16:57:15 GMT,
Laurent écrivait (wrote):
Quelles sont les valeurs que peut prendre le perl -0NUM_OCT ? J'ai
regardé dans "la programation en Perl, 3 edition" et rien.


N'importe quelle valeur (en octale) est acceptée.

Pour en savoir plus, lire 'perlrun' :

-0[digits]
specifies the input record separator ($/) as an octal
number. If there are no digits, the null character is
the separator. Other switches may precede or follow
the digits. For example, if you have a version of find
which can print filenames terminated by the null
character, you can say this:

find . -name '*.orig' -print0 | perl -n0e unlink

The special value 00 will cause Perl to slurp files in
paragraph mode. The value 0777 will cause Perl to
slurp files whole because there is no legal character
with that value.

Ce qui donne en français :


-0[digits]
indique le séparateur denregistrment en entrée ($/) en notation
octale. S'il n'y a pas de chiffres, le caractère nul (ASCII 0) est le
séparateur. D'autres options peuvent suivre ou précéder les
chiffres. Par exemple, si vous avez une version de find qui peut
afficher les noms de fichiers terminés par des caratères nul, vous
pouvez écrire ceci:

find . -name '*.orig' -print0 | perl -n0e unlink

La valeur spéciale 00 va indiquer à Perl d'avaler les fichiers en mode
paragraphes. La valeur 0777, indique à Perl d'avaler les fichiers en
entier car il n'y a pas de caractère avec cette valeur octale.



C'est exactement ce que j'ai dans "La programmation en Perl"
et c'est exactement ce que je ne comprends pas. En fait le
problème c'est n'importe quel valeur en octal qui me pose
problème et plus particulièrement à quelle action correspond
une valeur en octal.

Laurent



Avatar
DominiX
ici même:40c4c09a$0$27498$,
Laurent a écrit
In article , Paul GABORIT
wrote:

À (at) 07 Jun 2004 16:57:15 GMT,
Laurent écrivait (wrote):
Quelles sont les valeurs que peut prendre le perl -0NUM_OCT ? J'ai
regardé dans "la programation en Perl, 3 edition" et rien.


N'importe quelle valeur (en octale) est acceptée.

Pour en savoir plus, lire 'perlrun' :

-0[digits]
specifies the input record separator ($/) as an octal
number.
...




et c'est exactement ce que je ne comprends pas. En fait le
problème c'est n'importe quel valeur en octal qui me pose
problème et plus particulièrement à quelle action correspond
une valeur en octal.


la valeur correspond a un delimiteur pas a une action.


--
dominix




Avatar
Paul GABORIT
À (at) 07 Jun 2004 19:23:06 GMT,
Laurent écrivait (wrote):
In article , Paul GABORIT wrote:

À (at) 07 Jun 2004 16:57:15 GMT,
Laurent écrivait (wrote):
Quelles sont les valeurs que peut prendre le perl -0NUM_OCT ? J'ai
regardé dans "la programation en Perl, 3 edition" et rien.


N'importe quelle valeur (en octale) est acceptée.

Pour en savoir plus, lire 'perlrun' :
[... extraits de perlrun...]




C'est exactement ce que j'ai dans "La programmation en Perl"
et c'est exactement ce que je ne comprends pas. En fait le
problème c'est n'importe quel valeur en octal qui me pose
problème et plus particulièrement à quelle action correspond
une valeur en octal.


Donc, il n'y a pas "rien" dans "la programation en Perl, 3 edition". Il y a
quelque chose que vous n'avez pas compris. Nuance ! ;-)

En fait l'option '-0' permet de fixer la valeur de la variable $/. Pour savoir
à quoi sert cette variable, il faut lire 'perlvar'.

À moins que ce ne soit la conversion octal <-> caractère qui vous pose
problème...

Pour afficher l'équivalent octal d'un caractère (A dans cet exemple) :

perl -e 'print sprintf("0%on", ord("A"))'

Et l'inverse :

perl -e 'print chr(oct("0101")),"n"'


--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>