Perl & String

Résolu/Fermé
vindicien Messages postés 131 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 22 février 2011 - 22 déc. 2009 à 17:02
vindicien Messages postés 131 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 22 février 2011 - 23 déc. 2009 à 11:21
Bonjour à tous,

J'aimerai savoir si il existe une fonction en Perl permettant de réaliser l'équivalent d'un "like" en SQL.

Concrètement :

if (ma_valeur LIKE %TRUC%)
{
print "ca roule";
}

Pour l'instant j'utilise des sed mais je pense qu'il y a plus simple non ?

1 réponse

Salut,

Les regex sont implémentées en perl et l'opérateur est m//, tu n'est pas obligé d'utiliser m/
/TRUC/ cherche dans une chaîne de caractères T suivi de R suivi U suivi de C
C'est plus puisant que like, puisque tu peux encrer la recherche, tu peux utiliser de quantificateurs, des captures, des références arrière, des test avant/arrière positif et négatif, etc.

Une exemple

lami20j@debian:~/trash/AB$ cat truc.pl
#!/usr/bin/perl
use strict;use warnings;
my $val="il y a pas mal des TRUC en sed, awk, Perl, Python, etc\n";

if ($val=~/TRUC/){
  print "Ca roule\n";
}
__END__

lami20j@debian:~/trash/AB$ perl truc.pl
Ca roule
0
vindicien Messages postés 131 Date d'inscription vendredi 6 mars 2009 Statut Membre Dernière intervention 22 février 2011 33
23 déc. 2009 à 11:21
Yes merci beaucoup l'ami !!! Je m'en suis sorti nikel grâce à ton aide !!!
Bonne journée et joyeuses fêtes de fin d'année !!!
0