La voix du secrétaire (Jean)
Présents à la réunion, en fonction de l'ordre d'arrivée
Nous avons mangé entre autres du curry de poulet, des nouilles sautées aux crevettes, du canard pipa, des nougats chinois, des beignets de pomme, des beignets de banane et un parfait. David a bu de la bière Singha, puis a fait comme les trois autres qui avons bu de l'eau.
Nous avons parlé de Perl, d'Internet, d'informatique et d'autres sujets.
$_ !~ /E1/; $_ =~ /E2/;avec le cas, assez simple, d'une expression régulière contenant en tout et pour tout la chaîne "foo". Je prends le cas encore plus simple d'une chaîne constante d'un seul caractère. Ainsi, les deux lignes équivalentes seraient :
$_ !~ /a/; $_ =~ /^[^a]*$/;Pour ceux que les maths ne rebutent pas, cela se traduit par le fait que la négation de
Il existe un caractère, tel que ce caractère est égal à "a".est :
Pour tout caractère de la chaîne, ce caractère est différent de "a".Nous ne sommes pas allés jusqu'au bout de la réflexion sur la négation de /foo/. La solution, que je n'ai pas testée, ressemblerait à :
$_ =~ /^(?:.(?!foo))*$/;mais je ne suis pas sûr que le test soit positif sur une chaîne vide ou une chaîne commençant par "foo".
DF1 > DD2 & DF2 > DD1Ces deux comparaisons ne premettent pas de savoir si une plage est entièrement comprise dans l'autre, ou de savoir laquelle des deux commence la première, mais elle assure qu'il existe au moins un instant t qui figure dans les deux plages. ]
SELECT * FROM weather, cities WHERE weather.city =(+) cities.name;L'élément (+) permet de montrer de quel côté la correspondance tolère une absence. Tandis qu'avec PostgreSQL, la jointure externe nécessite la syntaxe verbeuse suivante :
SELECT * FROM weather LEFT OUTER JOIN cities ON (weather.city = cities.name);