La voix du secrétaire (Jean)Présents à cette réunion :
Les sujets abordés ont été Perl, Internet et divers sujets techniques ou autres. Au fil de ces discussions, nous avons également pu étendre notre vocabulaire.
my $a = 'Variable a'; $ch = qq $Un seul backslash : \$a \n$; print $ch; # imprime Un seul backslash : Variable a # fait planter à la compil # $ch = qq $Deux backslashs : \\$a $; # print $ch, qq $\n$; $ch = qq $Trois backslashs : \\\$a \n$; print $ch; # imprime Trois backslashs : \Variable a { local $\ = '$'; $ch = qq $Bidouille Samuel : \$\\a \n$; # Ne faites pas de print avant de refermer l'accolade, vous seriez surpris. } print $ch; { my $dollar = '$'; $ch = qq $Propre : \${dollar}a \x24a \n$; } print $ch; # imprime Propre $a $a
perl Makefile.PL make make test make installmais qu'il faut aussi regarder tout ce qui est fourni. Par exemple, dans HTML::Parser, il existe un répertoire eg qui contient des scripts intéressants, par exemple pour extraire la liste des liens figurant dans un fichier HTML, ou pour convertir du HTML en texte simple il y a aussi lynx -d, mais après tout, TMTOWTDI. La discussion dérive sur les magazines informatiques, qui ont la regrettable habitude de ne mettre sur leurs CD-ROM que les exécutables, car il n'y a pas la place d'y ajouter les fichiers archives pour les sources.
use Memoize; memoize('fib'); sub fib { my $n = shift; return 1 if $n < 2; return fib($n - 1) + fib($n - 2); }je disais que le gain est notable dès le premier appel car on obtient du O(n) au lieu de O(2n). En fait je me suis trompé, le calcul récursif de fib(n) est en O(1,618n). Pour le calcul de fib(n), le nombre de fois que l'on exécute le "+" dans la fonction ci-dessus est fib(n) - 1. Mais Samuel n'a pas voulu me croire quand je lui disais que le calcul récursif de la fonction de Fibonacci est exponentiel. Il m'assurait que ce calcul devait être polynomial. A mon avis, son raisonnement est que le calcul de Fibonacci n'est pas l'un des problèmes NP-complets répertoriés, donc c'est un problème polynomial. Le défaut de son raisonnement, c'est qu'un problème polynomial est un problème qui admet entre autres une solution polynomiale. Et Fibonacci se calcule en un temps O(1) :
use constant PHI => (1 + sqrt(5)) / 2; use constant LAMBDA => (1 + sqrt(5)) /(2 * sqrt(5)); sub fib { int(LAMBDA * PHI ** $_[0] + .5) }
Pour en savoir plus sur xxx, cliquez làet en revanche, il trouve élégante la méthode de memepool, consistant à écrire un texte comme s'il était destiné à paraître dans une revue sur papier, et ensuite à mettre en valeur certains mots par une balise hypertexte. Et comme vous pouvez le constater, c'est le style adopté par les comptes-rendus, y compris les plus anciens, qui ne sont pas issus de ma plume... euh de mon curseur.
while (1) { grep 'toto' /dev/zero & }bloque la machine je n'ai pas testé ; d'abord, je ne connais pas C-shell. Non seulement il forke comme un forcené, mais en plus chaque processus fils cherche à s'allouer toujours plus de mémoire, car il n'y a pas beaucoup de sauts de ligne dans /dev/zero (euphémisme...). Finalement, Samuel a eu un Ooops, ce qui est plus sérieux qu'un kernel panic. Mais je ne me souviens plus des circonstances exactes.
void *(signal(int sig, void (*func)(int)))(int);