Alexandre Jaquet wrote in message <42d6265b$0$1149$:
J aimerais bien savoir pourquoi lorsque j utilise :
my $user_name = $query->param ('user_name') =~ /^([w.])$/;
$foo = $bar =~ /baz/;
est lu comme
$foo = ($bar =~ /baz/);
et pas comme
($foo = $bar) =~ /baz/;
Le résultat est donc le résultat du =~, soit un booléen dans le cas présent.
merci tu sais peut être également pourquoi lorsque je fais ceci &action=search&min_index=/30&&search_name=&search_genre
(j ai le charcter / qui devrait etre substitué)
my $index_start = $query->param ("min_index") ; $index_start =~ /^([w.])$/; my $index_end = $query->param ("max_index") ; $index_end =~ /^([w.])$/;
mais les char non alphanuméric sont toujours présent quelqu un aurait une idée pourquoi ?
merci d avance
Nicolas George
Alexandre Jaquet wrote in message <42d65a51$0$1152$:
merci tu sais peut être également pourquoi lorsque je fais ceci <snip>
mais les char non alphanuméric sont toujours présent quelqu un aurait une idée pourquoi ?
Pourquoi ne le seraient-ils pas ? Manifestement, tu n'as pas bien compris la sémantique de l'opérateur de match m/.../ : il ne change en aucun cas la chaîne traitée.
Alexandre Jaquet wrote in message
<42d65a51$0$1152$5402220f@news.sunrise.ch>:
merci tu sais peut être également pourquoi lorsque je fais ceci
<snip>
mais les char non alphanuméric sont toujours présent
quelqu un aurait une idée pourquoi ?
Pourquoi ne le seraient-ils pas ? Manifestement, tu n'as pas bien compris la
sémantique de l'opérateur de match m/.../ : il ne change en aucun cas la
chaîne traitée.
Alexandre Jaquet wrote in message <42d65a51$0$1152$:
merci tu sais peut être également pourquoi lorsque je fais ceci <snip>
mais les char non alphanuméric sont toujours présent quelqu un aurait une idée pourquoi ?
Pourquoi ne le seraient-ils pas ? Manifestement, tu n'as pas bien compris la sémantique de l'opérateur de match m/.../ : il ne change en aucun cas la chaîne traitée.
Jacques Caron
Salut,
On Thu, 14 Jul 2005 14:27:56 +0200, wrote:
$index_start =~ /^([w.])$/;
Ce genre d'instruction ne fait rien. Il regarde si ton $index_start correspond à la regexp donnée ou pas, et puis il jette le résultat. Pas super utile. En plus ta regexp, euh... Elle vérifie que la variable elle contient une lettre ou n'importe quel caractère (et un seul). Je ne suis vraiment pas convaincu que ce soit ce que tu cherches.
Je pense qu'il te faudrait plutôt quelque chose comme:
$index_start =~ s/W//g; # supprimer tout ce qui n'est pas une lettre ou un chiffre
ou
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première série de lettres et de chiffres
Il peut y avoir des dizaines d'autres façons de l'écrire, mais ça dépend vraiment de ce que cherches vraiment à faire...
Jacques.
Salut,
On Thu, 14 Jul 2005 14:27:56 +0200, wrote:
$index_start =~ /^([w.])$/;
Ce genre d'instruction ne fait rien. Il regarde si ton $index_start
correspond à la regexp donnée ou pas, et puis il jette le résultat. Pas
super utile. En plus ta regexp, euh... Elle vérifie que la variable elle
contient une lettre ou n'importe quel caractère (et un seul). Je ne suis
vraiment pas convaincu que ce soit ce que tu cherches.
Je pense qu'il te faudrait plutôt quelque chose comme:
$index_start =~ s/W//g; # supprimer tout ce qui n'est pas une lettre ou
un chiffre
ou
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première
série de lettres et de chiffres
Il peut y avoir des dizaines d'autres façons de l'écrire, mais ça dépend
vraiment de ce que cherches vraiment à faire...
Ce genre d'instruction ne fait rien. Il regarde si ton $index_start correspond à la regexp donnée ou pas, et puis il jette le résultat. Pas super utile. En plus ta regexp, euh... Elle vérifie que la variable elle contient une lettre ou n'importe quel caractère (et un seul). Je ne suis vraiment pas convaincu que ce soit ce que tu cherches.
Je pense qu'il te faudrait plutôt quelque chose comme:
$index_start =~ s/W//g; # supprimer tout ce qui n'est pas une lettre ou un chiffre
ou
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première série de lettres et de chiffres
Il peut y avoir des dizaines d'autres façons de l'écrire, mais ça dépend vraiment de ce que cherches vraiment à faire...
Jacques.
Nicolas George
"Jacques Caron" wrote in message :
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première série de lettres et de chiffres
Pesonnellement, je préfère :
my ($index_start_filtered) = $index_start =~ /(w+)/;
(utiliser le résultat de la capture directement plutôt que $1, et ne pas réutiliser un nom de variable)
Ceci dit, s'il s'agit de paramètres passés à un script CGI, un rejet plus agressif des entrées invalides me semble souhaitable.
"Jacques Caron" wrote in message <opstwpkx0nw8m2cx@news.free.fr>:
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première
série de lettres et de chiffres
Pesonnellement, je préfère :
my ($index_start_filtered) = $index_start =~ /(w+)/;
(utiliser le résultat de la capture directement plutôt que $1, et ne pas
réutiliser un nom de variable)
Ceci dit, s'il s'agit de paramètres passés à un script CGI, un rejet plus
agressif des entrées invalides me semble souhaitable.
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première série de lettres et de chiffres
Pesonnellement, je préfère :
my ($index_start_filtered) = $index_start =~ /(w+)/;
(utiliser le résultat de la capture directement plutôt que $1, et ne pas réutiliser un nom de variable)
Ceci dit, s'il s'agit de paramètres passés à un script CGI, un rejet plus agressif des entrées invalides me semble souhaitable.
Alexandre Jaquet
Salut,
On Thu, 14 Jul 2005 14:27:56 +0200, wrote:
$index_start =~ /^([w.])$/;
Ce genre d'instruction ne fait rien. Il regarde si ton $index_start correspond à la regexp donnée ou pas, et puis il jette le résultat. Pas super utile. En plus ta regexp, euh... Elle vérifie que la variable elle contient une lettre ou n'importe quel caractère (et un seul). Je ne suis vraiment pas convaincu que ce soit ce que tu cherches.
Je pense qu'il te faudrait plutôt quelque chose comme:
$index_start =~ s/W//g; # supprimer tout ce qui n'est pas une lettre ou un chiffre
ou
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première série de lettres et de chiffres
Il peut y avoir des dizaines d'autres façons de l'écrire, mais ça dépend vraiment de ce que cherches vraiment à faire...
Jacques.
Merci :) Si quelqu un savait en fait comment supprimer tous les char non alphanuméric SAUF les espaces ca serait parfait
Salut,
On Thu, 14 Jul 2005 14:27:56 +0200, wrote:
$index_start =~ /^([w.])$/;
Ce genre d'instruction ne fait rien. Il regarde si ton $index_start
correspond à la regexp donnée ou pas, et puis il jette le résultat. Pas
super utile. En plus ta regexp, euh... Elle vérifie que la variable
elle contient une lettre ou n'importe quel caractère (et un seul). Je
ne suis vraiment pas convaincu que ce soit ce que tu cherches.
Je pense qu'il te faudrait plutôt quelque chose comme:
$index_start =~ s/W//g; # supprimer tout ce qui n'est pas une lettre
ou un chiffre
ou
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la
première série de lettres et de chiffres
Il peut y avoir des dizaines d'autres façons de l'écrire, mais ça
dépend vraiment de ce que cherches vraiment à faire...
Jacques.
Merci :) Si quelqu un savait en fait comment supprimer tous les char non
alphanuméric SAUF les espaces ca serait parfait
Ce genre d'instruction ne fait rien. Il regarde si ton $index_start correspond à la regexp donnée ou pas, et puis il jette le résultat. Pas super utile. En plus ta regexp, euh... Elle vérifie que la variable elle contient une lettre ou n'importe quel caractère (et un seul). Je ne suis vraiment pas convaincu que ce soit ce que tu cherches.
Je pense qu'il te faudrait plutôt quelque chose comme:
$index_start =~ s/W//g; # supprimer tout ce qui n'est pas une lettre ou un chiffre
ou
$index_start =~ /(w+)/ && ($index_start = $1); # récupérer la première série de lettres et de chiffres
Il peut y avoir des dizaines d'autres façons de l'écrire, mais ça dépend vraiment de ce que cherches vraiment à faire...
Jacques.
Merci :) Si quelqu un savait en fait comment supprimer tous les char non alphanuméric SAUF les espaces ca serait parfait
Michel Rodriguez
Alexandre Jaquet > wrote:
Merci :) Si quelqu un savait en fait comment supprimer tous les char non alphanuméric SAUF les espaces ca serait parfait
Alphanumerique, ces jours ci c'est assez vague. Est-ce que ca inclut les characteres accentues? les ideogrammes? les nombres japonais? Regarde du cote de perlunicode ou peut etre de POSIX pour trouver la definition qui te va bieng.
-- mirod
Alexandre Jaquet > wrote:
Merci :) Si quelqu un savait en fait comment supprimer tous les char non
alphanuméric SAUF les espaces ca serait parfait
Alphanumerique, ces jours ci c'est assez vague. Est-ce que ca inclut les
characteres accentues? les ideogrammes? les nombres japonais? Regarde du
cote de perlunicode ou peut etre de POSIX pour trouver la definition qui
te va bieng.
Merci :) Si quelqu un savait en fait comment supprimer tous les char non alphanuméric SAUF les espaces ca serait parfait
Alphanumerique, ces jours ci c'est assez vague. Est-ce que ca inclut les characteres accentues? les ideogrammes? les nombres japonais? Regarde du cote de perlunicode ou peut etre de POSIX pour trouver la definition qui te va bieng.
-- mirod
Jacques Caron
Salut,
On Fri, 15 Jul 2005 06:54:53 +0200, wrote:
Merci :) Si quelqu un savait en fait comment supprimer tous les char non alphanuméric SAUF les espaces ca serait parfait
Suivant ta définition de "alphanumérique":
- on ne garde que les lettres ASCII pures (pas d'accents, etc.): $truc =~ s/[^a-z0-9]//ig;
- on garde aussi les caractères accentués et toutes sortes de caractères non latins: $truc =~ s/[^w ]//g;
Jacques.
Salut,
On Fri, 15 Jul 2005 06:54:53 +0200, wrote:
Merci :) Si quelqu un savait en fait comment supprimer tous les char non
alphanuméric SAUF les espaces ca serait parfait
Suivant ta définition de "alphanumérique":
- on ne garde que les lettres ASCII pures (pas d'accents, etc.):
$truc =~ s/[^a-z0-9]//ig;
- on garde aussi les caractères accentués et toutes sortes de caractères
non latins:
$truc =~ s/[^w ]//g;
Merci :) Si quelqu un savait en fait comment supprimer tous les char non alphanuméric SAUF les espaces ca serait parfait
Suivant ta définition de "alphanumérique":
- on ne garde que les lettres ASCII pures (pas d'accents, etc.): $truc =~ s/[^a-z0-9]//ig;
- on garde aussi les caractères accentués et toutes sortes de caractères non latins: $truc =~ s/[^w ]//g;
Jacques.
merci :)
Jul
Il se trouve que Nicolas George a formulé :
Alexandre Jaquet wrote in message <42d65a51$0$1152$:
merci tu sais peut être également pourquoi lorsque je fais ceci <snip> mais les char non alphanuméric sont toujours présent quelqu un aurait une idée pourquoi ?
Pourquoi ne le seraient-ils pas ? Manifestement, tu n'as pas bien compris la sémantique de l'opérateur de match m/.../ : il ne change en aucun cas la chaîne traitée.
Histoire de compléter ci-dessus, m/.../ renvoi 1 si l'expression régulière s'applique à la chaîne testée, 0 si elle ne peut s'exécuter. Elle n'est utile que dans le cas d'une instruction conditionnelle et pour récupérer des tronçons de chaîne par le moyen de parenthèses incluses dans l'expression régulière puis utilisées par les variables $1-$9.
-- Jul... réapparru comme par enchantement
Il se trouve que Nicolas George a formulé :
Alexandre Jaquet wrote in message
<42d65a51$0$1152$5402220f@news.sunrise.ch>:
merci tu sais peut être également pourquoi lorsque je fais ceci <snip>
mais les char non alphanuméric sont toujours présent
quelqu un aurait une idée pourquoi ?
Pourquoi ne le seraient-ils pas ? Manifestement, tu n'as pas bien compris la
sémantique de l'opérateur de match m/.../ : il ne change en aucun cas la
chaîne traitée.
Histoire de compléter ci-dessus, m/.../ renvoi 1 si l'expression
régulière s'applique à la chaîne testée, 0 si elle ne peut s'exécuter.
Elle n'est utile que dans le cas d'une instruction conditionnelle et
pour récupérer des tronçons de chaîne par le moyen de parenthèses
incluses dans l'expression régulière puis utilisées par les variables
$1-$9.
Alexandre Jaquet wrote in message <42d65a51$0$1152$:
merci tu sais peut être également pourquoi lorsque je fais ceci <snip> mais les char non alphanuméric sont toujours présent quelqu un aurait une idée pourquoi ?
Pourquoi ne le seraient-ils pas ? Manifestement, tu n'as pas bien compris la sémantique de l'opérateur de match m/.../ : il ne change en aucun cas la chaîne traitée.
Histoire de compléter ci-dessus, m/.../ renvoi 1 si l'expression régulière s'applique à la chaîne testée, 0 si elle ne peut s'exécuter. Elle n'est utile que dans le cas d'une instruction conditionnelle et pour récupérer des tronçons de chaîne par le moyen de parenthèses incluses dans l'expression régulière puis utilisées par les variables $1-$9.