Utilisateurs de Perl à Paris

$A++

Il y a plus d'une manière de le faire


Quelques statistiques

What the f... ?

Qu'est-ce que ça veut dire ?

Commentaire Auteur(s)Date
Code
bombe à fork ( positif) David Landgren 9-Feb-2007

my $p = $$;
while ($A) {
  if (fork) {
    wait; $A = 1+($?>>8); $p-$$ ? exit $A : last;
  }
}
continue {--$A}
exit 1 if $p ne $$;
Il était temps David Landgren 7-Feb-2007

$A += do {
  my @A = sub {($_[5]+1900,$_[4]+1)}->(localtime);
  (Add_Delta_Days(@A,Days_in_Month(@A),1))[-1]
};
Touche pas à mon stash (Nouveau! Vu à la télé!) David Landgren 7-Feb-2007

${(sort grep {$_ eq uc} grep {/\A[^\W_\d]\Z/} keys %{
do{__PACKAGE__ if __PACKAGE__ ne 'main'}.'::'})[0]}++;
Touche pas à mon stash (package main seulement) David Landgren 7-Feb-2007

${(sort grep {$_ eq uc} grep {/\A[^\W_\d]\Z/} keys %::)[0]}++;
Optimisé pour la vitesse David Landgren 7-Feb-2007

use Inline C => 'int incr(int A) { ++A; return(A); }';
$A = incr($A);
eeeeeeek Philippe "BooK" Bruhat 7-Feb-2007

@ARGV = ( '$c', map { ( $_, '$c.=pop;pop' ) } qw( + + A $ ) );
s//pop/eeeeeee;
Le simple fait de regarder... David Landgren 7-Feb-2007

tie $A, 'Tie::Increment', $A;

$A;

package Tie::Increment;
sub TIESCALAR { bless {A=>$_[1]}, $_[0] }
sub STORE     { ($_[0])->{A} = $_[1] }
sub FETCH     { ++(shift)->{A} }
1;
La puissance de CPAN David Landgren 7-Feb-2007

use HTTP::Size;
$A += HTTP::Size::get_size('http://www.landgren.net/perl/one-byte.txt');
What, me worry? David Landgren 7-Feb-2007

use Acme::DonMartin;
sittzle shpliple spla pwadak sklork wap splork flif foomp ting rumble
sprizawitz clack
Vous confiriez votre projet à quelqu'un qui programme comme ça ? Christian Aperghis-Tramoni 6-Feb-2007

   AUTOLOAD    {ASSEMBLEUR}
   set         ($B = $A);
   if          ($B == 0) {goto ZERO};
EMPILE:
   push        (@l, $B);
   subs        ($B = $B - 1);
   if          ($B!=0) {goto EMPILE}
DEPILE:
   set         ($x = pop(@l));
   if          (!$x) {goto CALCULE}
   add         ($B = $B + $x);
   goto         DEPILE;
CALCULE:
   shft        ($B = $B << 1);
   div         ($A = $B / $A);
   goto         TERMINE;
ZERO:
   exor        ($A = $A ^ 1);
TERMINE:
Coderef à usage unique Sébastien "Maddingue" Aperghis-Tramoni 30-Jan-2007

(sub{s,^(.*)$,$1+//,e for@_})->($A)
Ceci n'est pas un opérateur Perl 6 Sébastien "Maddingue" Aperghis-Tramoni 30-Jan-2007

$A+=///////////////////////
Ne fonctionne que sur 32 bits Damien Krotkine 18-Jan-2007

$A += (\0-\0)/-24;
\o/ Damien Krotkine 18-Jan-2007

$A += !int\\\y////\\\\y////\\\\y////\\\\y///;
Somme des éléments d'une suite arithmétique Christian Aperghis-Tramoni 30-Nov-2006

sub s {
  my $n = @_[0];
  ($n)?($n + &s($n-1)):0
}
$A = $A?(&s($A)<<1)/$A:1;
Fortement inspiré de l'assembleur Christian Aperghis-Tramoni 28-Nov-2006

$B = 1;
while (($A ^= $B) and !($A & $B)) {
 $B <<= 1;
}
There is more than one way to have one way to have one way to have one Sébastien "Maddingue" Aperghis-Tramoni 3-Aug-2006

$A += !!(!!($!||!$!)x!!($!||!$!))x!!(!!($!||!$!)x!!($!||!$!))
regex en ALU -- voir Greg Ubben Gilles Arcas 29-Jan-2006

*_ = *A; s/$/c!0123456789/; 1 while s/9c/c0/; s/^c/0c/; s/(.)c(\d*)!.*\1(.).*/$3$2/;
Requiert un kernel Linux entre 2.4 et 2.7 Fabien Venzac 28-Jul-2005

$A += (@A = split (/\./,`uname -r`))[1] >> $A[0];
Perl6 $A++ Gaal Yahas 4-Jun-2005

our $A; $::(<A>)++; 
Regexp palindromique Vincent Storez 25-May-2005

$A += ( $A =~ m+$A$+m ); 
Abusing bug #32840 David Landgren 27-Jan-2005

$A += $^R if "A BUG" =~ /^A(?{1}) (?:BUG(?{#32840}))?$/;
debased David Landgren 14-Dec-2004

use Math::BaseCalc;
$_ = Math::BaseCalc->new(digits=>[split//,'A+$'])->to_base(58) and eval;
barbelés Andrew Savige 3-Nov-2004

$A-=$----$----$----$----$----!$-;
Unicode Character Database Olivier Mengué 29-Oct-2004

use Unicode::UCD 'charinfo';
my %ascii_by_name = map { charinfo($_)->{name} => $_ } (32..127);
eval join '', map { chr($ascii_by_name{$_}) } ('DOLLAR SIGN', 'LATIN CAPITAL LETTER A', ('PLUS SIGN') x 2);
Befunge 93 Philippe "BooK" Bruhat 29-Oct-2004

# <@p11+1g11
$A++
Befunge 98 Philippe "BooK" Bruhat 29-Oct-2004

;$A++; # 20g1+20p@
RFC2152 Olivier Mengué 27-Oct-2004

echo +ACQ-A+-+- | perl -Mencoding=UTF-7
Seul le titre compte (version concise) Philippe "BooK" Bruhat 30-Jun-2004

use LWP::Simple;
eval qq!@{[get("http://paris.mongueurs.net/aplusplus.html")=~/title>([^<]*)/g]}!
Perl OO syntax sux Stéphane Payrard 11-Jun-2004

${""}="Illegal seek::AUTOLOAD"; 
*${''} = sub { ${ (split //, "\U${ \__PACKAGE__ }")[1] }++  };  
 -qq|| => { q||  } -key {  } 
Rafael meets Ilya Rafael Garcia-Suarez 14-May-2004

$A=~/(?{++$_})(?{$A=$^R})/;
Size does matter Damien Krotkine 13-May-2004

 $A=()=(0..$A)
Long réseau par le gros bout Olivier Mengué 5-Feb-2004

eval pack('N', 608250667);
Seul le titre compte Pied Axioplase 5-Feb-2004

use IO::Socket;
$A=aplusplus($A);

sub aplusplus{
        $Socket;
        $server="paris.mongueurs.net";
        $port="80";
        $a= &connect($Socket,$server,$port);
        $A= eval $a;
}

sub connect(){
        my($socket,$host,$port)=@_;
        my $time;
        my $reply,$title;
        $socket = IO::Socket::INET->new(PeerAddr =>$host,
                        PeerPort => $port,
                        Proto    => "tcp",
                        Type     => SOCK_STREAM)
                or die "Couldn't connect to $host : $port\n";

        print $socket "GET /aplusplus.html\n";
        $reply = <$socket>;

        while($reply){
                $title=$reply if ($reply=~/<title>/i);
                $reply=<$socket>;

        }
        print $title;
        $title=~s#<.{5,6}>##g;
        $title=~s/(..)(..)/$2$1/;
        print $title;
        return $title;
}
A de Schrödinger Christophe Renard 19-Jan-2004

package A;sub TIESCALAR(){bless[$_[1]],$_[0]}sub FETCH(){$_[0]->[0]+1}
package main; sub A {*a=*{$main::{$_[0]}};tie $a,$_[0],$a;}
A('A');
Glob, pas glop Stéphane Payrard 19-Jan-2004

${*{$main::{A}}{ref \$A}}++
Soit dit entre parenthèses Christophe Grosjean 5-Jan-2004

$A+= (((((((((())))))))))=([10,9,8,7,6,5,4,3,2,1,FEU]);
Récursions chaînées Philippe Rimbault 4-Dec-2003

$;=sub{
  sub _{
    $_[2]=substr($_[0],length($_[0])-1,1) + $_[1];
    if (length($_[2])>1 or length($_[0])>1){
      $_[2]= _(substr($_[0],0,length($_[0])-1),length($_[2])>1?substr($_[2],0,1):0)
      . substr($_[2],length($_[2])-1,1);
    }
    return ($_[2]);
  }
  $A=_($_[0],1);
};($A)->$;;
Adresses de l'unité Philippe Rimbault 4-Dec-2003

$_=\1/\1;$A +=$_=~ s/(.*)(\.\d).*/($2>0?$1+1:$1+$A)/e;
Google arithmetic Philippe Rimbault 14-Nov-2003

$A=0 unless defined $A;
undef $/;
$_=`lynx -source http://www.google.com/search?q=1%2B$A`;
($A) = />1 \+ $A = (\d*)</;
Linux seulement Philippe Rimbault 13-Nov-2003

$A+=`pidof init`
comparer -@_ et +@_ II François Pons 24-Jun-2003

$A = (sub { push @_, +@_ })->(($A) x ($A)) /2 + 1;
comparer -@_ et +@_ I François Pons 24-Jun-2003

$A = (sub { push @_, -@_ })->(($A) x ($A));
Mandrake addict Guillaume Rousse 24-Jun-2003

urpmf --name -v -e  '($a || ++$a) && 0'
Semi randomly generates a $A++ and prints it Greg McCaroll 21-Jun-2003

$SIG{__WARN__} = sub {};
my @c = qw( $ B + = ; 1  );
my $p;
my $B;
do {
  $p='';
  $B=41;
  for(1..(int(rand(5))+4)) {
    $p.=$c[rand @c];
  }
  eval $p;
} until ($B == 42);
$p =~ s/B/A/g;
eval $p;

print "$p\n";
Quand $\ devient $/ Nicholas Clark 5-May-2003

perl -le '${~$\&~$;&$^}++'
Logique avec ficelles attachées Nicholas Clark 5-May-2003

${~$/&~$;&$^}++
Abus de variables magiques Nicholas Clark 4-May-2003

${chr($=+((ord($/))>>$$/$$))}++;
SAX est simple Robin Berjon 2-May-2003

use XML::SAX::ParserFactory;
XML::SAX::ParserFactory->parser(Handler=>bless\$A,A)->parse_string("<A/>");
sub A::end_element{${$_[0]}++}
alea jacta est Robin Berjon 2-May-2003

use Lingua::Romana::Perligata;
ao postincresce.
q() n'est pas qq() Stéphane Payrard 27-Mar-2003

sub q() { 1 } ; $A +=  &q() + q()
scalaire ou tableau, ou comment couper les cheveux en quatre Sébastien Morin 19-Feb-2003

$A -= $#{split(//, $A)};
incrément sans exécution Stéphane Payrard 31-Jan-2003

perl -ce 'BEGIN { $A += $^C }'
comma dépassé Stéphane Payrard 10-Jan-2003

$  A+= .5=> .5>= .5;$ A+=(1  =>.5)
colons Stéphane Payrard 10-Jan-2003

eval  join '',  "\044", +::, A::, '+++$A::'
Befunge-like Perl Stéphane Payrard 19-Dec-2002

$
B
=
\
$
A
;
$
A
=
$
$
B
+
1
64 bits Julien Gilles 12-Dec-2002

$A = 2**64-~$A;
32 bits Julien Gilles 12-Dec-2002

$A = 2**32-~$A;
require hook Stéphane Payrard 7-Dec-2002

${'A.pm'}++; @INC =[ sub {$A++}] ; eval "require A";
more or less abuse if Stéphane Payrard 1-Dec-2002

use less; $A +=require  strict if useless; use if
le dollar est roi Stéphane Payrard 24-Nov-2002

eval( "A++") or (${"A++"}) = $@ =~ m/"(.*)"/;  eval '$' . ${"A++"};
J'ai les bools Stéphane Payrard 24-Nov-2002

$A += !((false or true) != 0)
Intoxication Lisp Stéphane Payrard 24-Nov-2002

$A += nil +1  if  nil
Autovivifié: peut-être mieux que la moyenne Stéphane Payrard 24-Nov-2002

%average::; print probably not my average $A++
pragmatic type Stéphane Payrard 24-Nov-2002

my main $A++
strict bondage Stéphane Payrard 24-Nov-2002

use strict; my  strict $A++
YAHI Stéphane Payrard 19-Nov-2002

eval '$A'.  (<<""
$A++

=~ m|(\W+)|)[0];
here-in Stéphane Payrard 19-Nov-2002

eval <<'';
$A++
...et de l'arithmétique avec des regexps Simon Maréchal 14-Nov-2002

($d,$m,$f)=$A=~/^(.*?)([^9]?)(9*)$/;
$m||=0;
$f=~s/9/0/g;
$m=~tr/0-8/1-9/;
$A="$d$m$f";
le pingouin fait de l'arithmétique binaire Simon Maréchal 14-Nov-2002

$B=1;while(($A& $B)==$B){$B=$B*2+1;}$A^=$B;
Bon d'incrémentation Philippe Bricout 3-Nov-2002

#--------Free incrementation voucher-----------8<----Cut Here-----------#
$                                                                       {
(                                  '$'                                  )
^                                  'A'                                  ^
(                                  '='                                  )
&                                  '$'                                  |
(                                  'A'                                  )
&                                  '+'                                  &
(                                  '1'                                  )
&                                  ';'                                  }
++                                                                      ;
#---Découper suivant les pointilles--->8---Bon d'augmentation gratuit---#
boucle au range Philippe Rimbault 28-Oct-2002

for($A..$A+1){$A+=$_-$A};
import frelaté Stéphane 30-Sep-2002

*A::import = sub { shift; eval shift }; $INC{'A.pm'}++; eval q|use A '$A++'|
memoize BooK 27-Sep-2002

use Memoize;
sub plusplus { $_[0]++ }
memoize('plusplus');
plusplus( $A );
La réponse est 42 Court-Jus 25-Sep-2002

while ($plop!=1) {$plop=int(rand(42));}                                             
$A+=$plop;
404 Not Found Didier Collin 21-Aug-2002

use LWP::UserAgent;
use HTTP::Request::Common;
$A += 9*9*5-new LWP::UserAgent->request(GET 'http://www.oiseaux.net/neant')->code;
Acme tour (2) Jérôme Quelin 6-Aug-2002

use Acme::Morse;
.--.-..--..---.-.--..--.-..--..---.-.--.
..-..-..-.....-.--.-.-..--.-.-..--.---..
.-.-...
Acme tour (1) Jérôme Quelin 6-Aug-2002

use Acme::Bleach;
 	 	 	 	 	 	 	 	  	  	  	
     	 		
 	 	  		 
	 	  		 	
		   	 	 
   
PerlIO ++ Rafael Garcia-Suarez 26-Jul-2002

sub PUSHED { bless {} }
sub FILL { $x = readline $_[1]; defined $x ? $x + 1 : undef }
open FH, "<:scalar:via(main)", \"$A"; $A = <FH>; close FH;
splicy Stéphane 22-Jul-2002

( $B = ( $C ='$A--++') ) =~ s/ ./  $a=$&; ($& =~  m(\w)) ? "($a)"  : "(\\$a)"   /gex;
eval join '',  ( $C =~ m/$B/)[0..1,4..5];
L'HS AUTOLOAD Stéphane 22-Jul-2002

use 5.008; sub A::AUTOLOAD : lvalue { $::A }; &{A::A}()+=1; 
loco Stéphane 22-Jul-2002

use 5.008;
use Hash::Util lock_keys;
lock keys(%A);
lock_keys(%A);
eval '$A{$A}++' or eval '$' . ($@ =~ m/(.)/)[0] . '++';
Longue vie à perl 5.0008 Stéphane 22-Jul-2002

eval "require 5.8" or $A+=($@ =~ m/\G.*?(\d+)/gc)[ ($] =~ m/(.)$/)[0] ];
Substitut à l'héroïne Sylvain Lhullier 15-Jul-2002

s//$A++/e;
Faut vraiment être stupide pour faire comme ça ! Sylvain Lhullier 15-Jul-2002

my $c = '';
while( ($b = chr(rand(255)) ) ne '$' ){}; $c .= $b;
while( ($b = chr(rand(255)) ) ne 'A' ){}; $c .= $b;
while( ($b = chr(rand(255)) ) ne '+' ){}; $c .= $b;
while( ($b = chr(rand(255)) ) ne '+' ){}; $c .= $b;
eval $c;
Ouvrez la bouche et faites AAAAAA Sylvain Lhullier 15-Jul-2002

$A{$A}=\$A;${$A{$A}}++;
Télé-achat plutôt que Télé-chat Sylvain Lhullier 15-Jul-2002

my %h=();
$A += !exists($h{$A});
J'en suis tout shiffonné Sylvain Lhullier 15-Jul-2002

$A += unshift @A, $A;
I got a Black Magic Woman (bis), Yes, I got a Black Magic Woman Sylvain Lhullier 11-Jul-2002

$A += $A !~ santana;
La clef d'une bonne évaluation Sylvain Lhullier 11-Jul-2002

%h = qw(+ + $ A);
unshift @l, each(%h);
unshift @l, each(%h);
eval join "", @l;
Ça, c'est du hachage ! Sylvain Lhullier 11-Jul-2002

%h = ( '$'=>'+', 'A'=>'A', 'a'=>'$', '+'=>'+' );
eval join '', values(%h);
Mais non, je ne dis pas de gros mots ! Sylvain Lhullier 11-Jul-2002

eval join '', grep { /[^ -#%-*,-\@B-~]/ } qw( 2 f $ a p p A 0 8 + - * = + 4 );
C'est un truc de pépé, ça... Sylvain Lhullier 11-Jul-2002
 
$A += ( map { tr/P/P/ } split(//,'Perl') )[0];
Lecture de droite à gauche Sylvain Lhullier 11-Jul-2002
 
eval reverse '++A$';
Je tripote le tri, mon pote ... Sylvain Lhullier 11-Jul-2002
 
eval join "", sort { ($a,$b)=($b,$a); 1 } split(//,'+$A+');
Convocation Générale Philippe Bricout 11-Jul-2002

${(sort grep {/^\w/ && /\D/} keys %{(eval "(caller)[0]").'::'})[0]}++
Échappons nous, voici une URI ... Sylvain Lhullier 11-Jul-2002

use URI::Escape;
eval uri_unescape('%24%41%2B%2B');
Elle nous suit encore l'infammmmmme bête ... Sylvain Lhullier 11-Jul-2002

use URI::Escape;
$c = '%2525252524%2525252541%252525252B%252525252B';
$c=uri_unescape($c) while($c ne uri_escape($c));
eval $c;
La bête immmmmmonde n'est pas morte ... Sylvain Lhullier 11-Jul-2002
 
use URI::Escape;
$c = '%2525252524%2525252541%252525252B%252525252B';
while($c) { if( ($c=uri_unescape($c)) eq uri_escape($c) ) { eval $c; last; } }
Je POSIX et je retiens 1 Sylvain Lhullier 11-Jul-2002
 
use POSIX;
$A += int($POSIX::VERSION);
Je vais faire un petit sum, moi ... Sylvain Lhullier 11-Jul-2002
 
use Digest::MD5 qw(md5);
$A -= ( split( //, md5('Et un de plus pour la variable $A !...') ) )[3];
$A += ( split( //, md5('Et un de plus pour la variable $A !...') ) )[3*3];
I call myself nemo Stéphane 8-Jul-2002

$A +=  @{ [ ( @{ caller(-1) }, "$A++" ) ] }
Le système décimal en Mapématiques' ou 'De l'unité à la nullité Philippe Bricout 24-Jun-2002

$A = eval join '+', map {$_ * 10**$e + 0**$e++} reverse $A=~ m/./g;
texte-con Philippe Bricout 24-Jun-2002

($A) = map {$A + $_} $A =~ /$A/;
Pourquoi ne l'a-t-on point encore fait, cher Dupond ? Je dirais même plus, cher Dupont, ... Sylvain Lhullier 24-Jun-2002

++$A
Nihiliste suicidaire (deuxième tentative de suicide, car la première a échoué) Sylvain Lhullier 24-Jun-2002

$A = 1 + $A
Renversant de bétise Sylvain Lhullier 24-Jun-2002

$A = -$A;
$A--;
$A = -$A;
Au moins aussi con Sylvain Lhullier 24-Jun-2002

$A=-(-1-$A);
Version Blanche-Neige Sylvain Lhullier 24-Jun-2002

$A += "   1 jour mon prince viendra ...  1 jour on s'aimera ...   ";
# or
$A += "   1 day my prince will come...  one day...   ";
Et mes chaussettes rouges et jaunes à petits pois ... Sylvain Lhullier 24-Jun-2002

use IO::Socket;
use Sys::Hostname;
if( ! fork() )
{
   $t = ( $s = new IO::Socket::INET(PeerAddr=>hostname(),LocalPort=>8888,Listen=>1) )->accept();
   print $t ( <$t> +1)."\n";
   close $t; close $s;
   exit(0);
}
else
{
   sleep 1;
   $s = new IO::Socket::INET(PeerAddr=>hostname(),PeerPort=>8888);
   print $s "$A\n";
   $A = int(<$s>);
   close $s;
}
XS ? Je suis au parfum, merci ! Sylvain Lhullier 24-Jun-2002

#Fichier Makefile.PL
use ExtUtils::MakeMaker;
WriteMakefile( NAME => 'PlusPlus', VERSION_FROM => 'PlusPlus.pm');

#Fichier PlusPlus.pm
package PlusPlus;
require DynaLoader;
our @ISA = qw(DynaLoader);
our $VERSION = '0.01';
bootstrap PlusPlus $VERSION;
1;
__END__

/*Fichier PlusPlus.xs */
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
MODULE = PlusPlus  PACKAGE = PlusPlus
int
plusplus(input)
        int     input
    CODE:
        RETVAL = input+1;
    OUTPUT:
        RETVAL

#Fichier test.pl
use PlusPlus;
$A = PlusPlus::plusplus( $A );
Application du Delta Coding Maddingue 22-Jun-2002

$_="+36+29-22=",s/\G([=+-])(\d*)/$==$1eq'='?$-:eval"$-$1$2",chr($-=$=)/ge,eval
Le gène de l'incrément Christian Aperghis-Tramoni 21-Jun-2002

for ($adn = "ATCACAACATTGATTG";($i<length($adn)) or !($_=(pack "B32",$y))
or !eval();$y.=substr(unpack("B8",substr($adn,$i++,1)),5,2)) {}
La cuisine au curry (par Ed) Stéphane 14-Jun-2002

use Perl6::Currying;
sub add($a, $b) { $a + $b };
$incr = &add.prebind(a=>1);
$A = $incr->($A)
D'une autre utilisation des attributs Stéphane 8-Jun-2002

use Attribute::Handlers;
sub _ : ATTR(SCALAR) { ${$_[2]}++ }
my $A : _ ; $A;
De l'utilisation des attributs Stéphane 8-Jun-2002

sub _ : lvalue { $A }; ++_();
Constante usée pour rien Stéphane 8-Jun-2002

use constant; my constant $A++
À quoi servent les v-chaînes ? Jean Forget 7-Jun-2002

eval v36.65.43.43;
regex dangeureuse en 5.006001 (YMMV) Stéphane Payrard 5-Jun-2002

$A += ('(A)' =~ m|\(A\)|)[0] == ('(A)' =~ m|(A)|)[0];
regex dangeureuse en 5.006001 (YMMV) 2 Stéphane 5-Jun-2002

$A += ('(A)' =~ m(\(A\)))[0] == ('(A)' =~ m((A)))[0];
Fou de trigo ? François Désarménien 5-Jun-2002

use Math::Trig;
$A-=cos(pi)
La construction en dur, c'est du solide... Christian Aperghis-Tramoni 4-Jun-2002

$_=sub {$| or ($|=1 and @_=(1,1,0,0,4,2,3,5));
        return (substr("000001",5-shift(@_)))};
${eval(pack "B24",eval(substr('.&$_'x8,1)))}++;
De l'utilisation (un peu osée) des variables prédéfinies. Christian Aperghis-Tramoni 31-May-2002

$_=sub{$~=$|++?$|:${chr($=+=5)}};${chr($=)}=&$_+&$_;
Famille nombreuse dans laquelle chacun apporte sa pierre à l'édifice. Christian Aperghis-Tramoni 30-May-2002

while (1) {
  pipe(LIT_P,ECRIT_F);pipe(LIT_F,ECRIT_P);
  local($fh)=select ECRIT_F; $|=1;select $fh;
  local($fh)=select ECRIT_P; $|=1;select $fh;
  if ($pid = fork){
    close LIT_P;close ECRIT_P;
    print ECRIT_F ($A--,"\n");
    chomp($I=<LIT_F>);
    $X+=!!$I;
    close LIT_F;close ECRIT_F;
    waitpid($pid,0);
    ($I<0) and $A=$X and last;
  } else {
    die "Pas moyen : $!" unless defined $pid;
    close LIT_F;close ECRIT_F;;
    chomp($B=<LIT_P>);
    (print ECRIT_P ($B,"\n"));
    close LIT_P;close ECRIT_P;
    exit;
  }
}
Attention, un = peut en cacher un autre... Christian Aperghis-Tramoni 30-May-2002

$x=sub{if (wantarray()){(pack "c",${($_=&$x)}+5)}else{pack "c",$=+1}};
$A =${($_=&$x)}/$=+${(@_=&$x)[0]};
OCR ? Maddingue 29-May-2002

eval((map{s/^./\$/,s/ //g;$_}(split"$/",<<'')[-1])[0]);
     A
    A A        +       +
   A   A       +       +
  AAAAAAA   +++++++ +++++++
 A       A     +       +
A         A    +       +
Addition de fichiers Stéphane 28-May-2002

use Inline::Files;  open A,'>'; ++$A; eval <A>;
À la recherche de A Sylvain Lhullier 23-May-2002

$A = ( $A =~ m/(.*)/g )[0] + 1;
Ça imprime pas... Sylvain Lhullier 23-May-2002

$A = length sprintf "%${A}.0f ", $A;
Ça imprime toujours pas ! Sylvain Lhullier 23-May-2002

sprintf "%${A}.0f %n", $A, $A;
Récursif Sylvain Lhullier 23-May-2002

sub A
{
   my ($A,@A) = @_;
   if   ( !defined($A[$A]) ) { ( 1, @A ); }
   elsif( ++$A[$A] > 9 )     { $A[$A] = 0; A($A-1,@A); }
   else                      { @A }
}
$A=join"",A(-1,($A=~/(.)/g));
Maîtrise totale du hasard... Sylvain Lhullier 23-May-2002

$A += int(rand(1)+1);
Mais non ce n'est pas du plagiat ! Sylvain Lhullier 23-May-2002

use LWP::UserAgent;
$c = ( LWP::UserAgent->new()->simple_request(HTTP::Request->new(GET=>
     'http://paris.mongueurs.net/aplusplus.html'))->content() =~ m:^(.*)</pre></td>:m )[0];
eval $c;
Ce n'est pas très for tout cela ... Sylvain Lhullier 23-May-2002

for($a=0;$a<=$A;$a++){}
$A=$a;
Et ceci est plutôt null ! Sylvain Lhullier 23-May-2002

$A += open(F,">/dev/null");
close(F);
Il n'existe pas, ce n'est pas la peine d'insister ! Sylvain Lhullier 23-May-2002

rmdir rand($A);
$A += $!/2;
Boolean algebra proven wrong Stéphane 16-May-2002

$A += !('_'| !'_')  # where !(A|!A) == 1
Pour la route Stéphane 1-May-2002

$A = $A++ ? $A++ : $A++
Perl descend du C Jérôme Quelin 30-Apr-2002

#define $ /* Money for nothing */
$ A++
Que d'A... Que d'A Christian Aperghis-Tramoni 30-Apr-2002

sub A {$A[$A]=$A;(!$A and $A=!$A) or (($A-=$A/$A) and A and $A=@A)};A;
POSIX compliant Jérôme Quelin 30-Apr-2002

use POSIX;
$A += &ENOMEM - &EAGAIN;
Presque ! Jérôme Quelin 30-Apr-2002

use Symbol::Approx::Sub;
sub aplusplus { $A++ }
&aplus;
Abrégez ! Jérôme Quelin 30-Apr-2002

use Text::Abbrev;
%operations = abbrev qw( plus addition plusplus A );
$A += grep { /n$/ } values %operations;
Connaissez vos constantes Jérôme Quelin 30-Apr-2002

use Fcntl;
$A += F_GETFD;
Valide seulement en hiver Jérôme Quelin 30-Apr-2002

$A += (localtime)[2]-(gmtime)[2];
Valide seulement en été Jérôme Quelin 30-Apr-2002

$A += ((localtime)[2]-(gmtime)[2])/2;
Acme::EyeDrops Jérôme Quelin 30-Apr-2002

                                      ''=~('('.'?'
           .'{'.(                   '`'|'%').("\["^
        '-').('`'|                '!').('`'|',').'"'
 .'\\'.'$'.  ("\`"^              '!').('{'^'[')."\+".
'+'.';'.('!'^('+')).            '"'.'}'.')');$:=('.')^
'~';$~='@'|'(';$^=')'          ^'[';$/='`'|'.';$_='('^
  '}';$,='`'|"\!";$\=        ')'^'}';$:='.'^'~';$~='@'|
       '(';$^=')'^'['      ;$/='`'|'.';$_='('^'}';$,='`'
      |'!';$\=(')')^     '}';$:='.'^'~';$~='@'|'(';$^=')'
     ^'[';$/='`'|'.'   ;$_='('^'}';$,='`'|'!';$\=')'^"\}";
    $:='.'^"\~";$~=   '@'|'(';$^=')'^'[';$/='`'|'.';$_="\("^
    '}';$,='`'|'!';  $\=')'^'}';$:='.'^'~';$~='@'|'(';$^=')'^
    '[';$/='`'|'.'  ;$_='('^'}';$,='`'|'!';$\=')'^'}';$:='.'^
    '~';$~='@'|'('  ;$^=')'^'[';$/='`'|'.';$_='('^'}';$,="\`"|
    '!';$\=')'^'}';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.'
    ;$_='('^'}';$,='`'|'!';$\=')'^'}';$:='.'^'~';$~='@'|'(';$^=
     ')'^'[';$/='`'|'.';$_='('^'}';$,='`'|'!';$\=')'^'}';$:='.'
     ^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$_='('^'}';$,='`'|'!'
      ;$\=')'^'}';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$_=
       '('^'}';$,='`'|'!';$\=')'^'}';$:='.'^'~';$~='@'|'(';$^=')'
        ^'[';$/='`'|'.';$_='('^'}';$,='`'|'!';$\=')'^"\}";$:= '.'
         ^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$_='('^'}';$,  =((
          '`'))|'!';$\=')'^'}';$:='.'^'~';$~=('@')| "\(";$^=  ')'
            ^'[';$/='`'|'.';$_='('^'}';$,='`'|'!';  $\=')'^   '}'
             ;($:) ='.'^'~';$~='@'|'(';$^=')'^'['   ;$/='`'   |((
                   '.'));$_='('^'}';$,='`'|"\!";    $\=')'^   '}'
                   ;$:='.'^    '~';$~='@' |"\(";     $^=')'   ^+
                   '[';$/=     '`'|'.';   $_='('     ^"\}";  $,
                   =('`')|     "\!";$\=   "\)"^       "\}";  (
                   ($:))=      '.'^'~';   ($~)         ='@'
                   |"\(";     $^=(')')^   '[';         ($/)
                    ='`'|     "\.";$_=    '('^         '}';
                    ($,)=     '`'|'!'     ;$\=         ')'^
                    '}';     $:='.'       ^'~'         ;$~=
                    '@'|     '('          ;$^=         ')'^
                    '[';      $/=         '`'          |((
                    '.'        ));       $_=           '('
                    ^((         '}'     ));            $,=
                    '`'          |((   '!'              ))
                    ;(             ($\))=               ((
                    ((              ')'))               ))
                    ^+             "\}";$:=             ((
                   '.'            ))^+ "\~";            $~
                  =((           '@'))|  '(';           $^=
                 ')'^         "\[";$/=   '`'          |'.'
               ;($_)=                                ('(')^
             "\}";$,=                               '`'|'!'
"Packer" et "dépacker" c'est toujours travailler... Christian Aperghis-Tramoni 30-Apr-2002

for (@b=split(//,unpack ("B32", pack("N",$A))) and $i=@b;$b[--$i] or
!($b[$i]=1) or !($A=unpack("N",pack("B32",join("",@b))));$b[$i]=0) {};
Tel père, tel fils Christian Aperghis-Tramoni 26-Apr-2002

pipe(LIT_P,ECRIT_F);
pipe(LIT_F,ECRIT_P);
local($fh)=select ECRIT_F; $|=1;select $fh;
local($fh)=select ECRIT_P; $|=1;select $fh;
if ($pid = fork) {
    close LIT_P;close ECRIT_P;
    print ECRIT_F "$A\n";
    chomp($A=<LIT_F>);
    close LIT_F;close ECRIT_F;
    waitpid($pid,0);
}
else {
    die "Pas moyen : $!" unless defined $pid;
    close LIT_F;close ECRIT_F;;
    chomp($B=<LIT_P>);
    $B+=int(log(2.718282));
    print ECRIT_P "$B\n";
    close LIT_P;close ECRIT_P;
    exit;
}
Traduction Maddingue 25-Apr-2002

map{s,plus,++,,s,^,\$,}$_="A plus";eval
Fou de XML et XSLT... Sylvain Lhullier 24-Apr-2002

use XML::LibXML;
use XML::LibXSLT;
$parser=XML::LibXML->new();
$style_doc=$parser->parse_string(
'<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/><xsl:template match="t"><xsl:value-of select="@a+1"/>
</xsl:template></xsl:stylesheet>');
$stylesheet = XML::LibXSLT->new()->parse_stylesheet($style_doc);
$A=int($stylesheet->output_string($stylesheet->transform(
$parser->parse_string("<t a=\"$A\"/>"))));
Pas pour les windowsiens... Sylvain Lhullier 24-Apr-2002

$A+=(stat('/'))[1]/2;
Pour $A positif et pas trop grand... Sylvain Lhullier 24-Apr-2002

$t=time();
sleep $A+1;
$A=time()-$t;
Rien ne vaut SQL Sylvain Lhullier 24-Apr-2002

use DBI;
$r=DBI->connect("dbi:Pg:dbname=base", "login", "passwd")
      ->prepare("select ?+1");
$r->execute($A);
$A=$r->fetchrow_array();
Matheux dans sa jeunesse... Sylvain Lhullier 24-Apr-2002

$A = log(exp($A)*exp(1));
Très X tout cela... Sylvain Lhullier 24-Apr-2002

$A=index(('X'x$A).'Xx','x');
Nostalgique des scripts shell Sylvain Lhullier 24-Apr-2002

open(FILE, "expr $A + 1|" );
$A = int(<FILE>);
close(FILE);
Préfère mourir que de faire une addition Sylvain Lhullier 24-Apr-2002

eval{die(($A+1)."\n")};
$A=int($@);
Soucieux de l'heure Sylvain Lhullier 24-Apr-2002

use Date::Manip;
use POSIX qw(strftime);
$A = UnixDate(DateCalc(strftime("%Y%m%d%H:%M:%S",gmtime($A)),1).' GMT',"%s");
Retour aux racines Sylvain Lhullier 24-Apr-2002

$A+=chdir('/');
Befunge Jérôme Quelin 24-Apr-2002

use Inline Befunge => "q+1;sulpa:;";
$A=aplus($A);
reverse scalar Olivier "Init64" Matt 24-Apr-2002

${eval("uc substr reverse (scalar 'really fun'),7,1")}=~s/^(.*)$/$1+1/e;
It's a long, long, long way to the top (if you wanna rock'n'roll) David Landgren 24-Apr-2002

$A += length length length $A;
À réécrire dans 98 ans ! Christian Aperghis-Tramoni 24-Apr-2002

$A+=(split//,(localtime)[(gmtime)-(1<<2)])[$today];
Renversement de situation... Christian Aperghis-Tramoni 24-Apr-2002

$A= $i.reverse(join("",map {!$b and $b=$i=!$b!=$i;$i=!!int(($_+=($i
or ""))/0xA);$_%=012} split(//,reverse($A))));
en lettres minuscules (re-golfé) Mtv Europe 22-Apr-2002

y ccccd x s vvchr oct oct ord uc ave x s vvucve le
s vvuc ave x s vvchr oct oct oct ord uc bve x eval
en lettres minuscules (golfé) Mtv Europe 22-Apr-2002

y ccccd x
s vvchr length q qaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqve x
s vvucve x s vvuc ave x
s vvchr length q qaaaaaaqx length q qaaaaaaqve x eval
en lettres minuscules Mtv Europe 21-Apr-2002

y zzzcd x
s vv chr length q qaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaq ve x
s vv chr length q qaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaq ve x
s vv chr length q
qaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaq ve x
s vv chr length q qaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaq ve x
eval
Palindromique Mtv Europe 21-Apr-2002

!$A+++!q!+++A$!
Pourquoi faire simple lorsqu'on peut faire compliqué (Devise Shadock) Christian Aperghis-Tramoni 18-Apr-2002

map {if ($A){$i=$_ eq (pack
"C",(1<<5)+(1<<1)+1)?$i+int(log($A)/log(0xA))+1:$i+1;($_ eq (pack
"C",(1<<5)+(1<<1)+1)) and $A=$i/(int(log($A)/log(1+(1<<3)+1))+1)}
else{$A=1}}split(//,("$A"x$A).pack "C",(1<<5)+(1<<1)+1);
Je la repousse, la retenue. ($A entier positif ou nul) Sylvain Lhullier 17-Apr-2002

for( @l=(reverse(split(//,$A)),0) )
{
   $_++;
   last if($_<=9);
   $_=0;
}
$A=int(join("",reverse @l));
La même, en moins lisible Sylvain Lhullier 17-Apr-2002

$A=int(join("", reverse map {if($f){$_}elsif($_<9){$f=1;$_+1}else{0}}
(reverse(split(//,$A)),0) ));
Un, à la fin Sylvain Lhullier 17-Apr-2002

$A += ( (213*417) =~ m/(.)$/ )
Récursif 2 Christian Aperghis-Tramoni 15-Apr-2002

$x=sub{$b.=!length($b)?'$':'A'if (length($b)<2);($b.='+')
       if (length($b)>=2);++$i<3 and &$x;return($b)};
eval(&$x);
Un 421 Christian Aperghis-Tramoni 12-Apr-2002

@x=(4,2,1);
eval('$'.pack"c3",sprintf("0%o"x4,@x[2..2*2,2]),($x[0]*10+$x[1]+1)x2);
Nombre triangulaire, avec regex BooK 4-Feb-2002

$_=$?x$A;s/./$'&&$'/g;$A=y///c/$A
Nombre triangulaire BooK 4-Feb-2002

$A=(map{$s+=2*$_/$A;$s}1..$A)[-1]
Prototype Stéphane 25-Jan-2002

eval '$' . prototype sub (A++) {};
L'incrément ou la vie ! Stéphane 25-Jan-2002

$SIG{__DIE__} = sub { &${'A--'};  exit};
${"A--"} = sub "A++" { $A++ };  &{'A++'};
Pas de double incrément ! Stéphane 21-Jan-2002

$ a { 1 } = 1; $A +=eval "$ a { 1 }"; $a=1; $A += eval "$ a { 1 }"
Plus ou moins ? Olivier Poitrey 11-Jan-2002

use overload '--'=>sub{++${$_[0]}}, '""'=>sub{${$_[0]}};
$A = bless(\($B=$A));
$A--;
Plus ou moins Wesley 3-Jan-2002

$A += +$A-- -$A++ +$A-- -++$A;
Un type de référence non documenté BooK 27-Nov-2001

${substr(\substr($$,0,0),2,1)}++
Spam Wanadoo/Alapage Stéphane 21-Nov-2001

package Aplus;
use Filter::Simple sub { s/\./a/g };
BEGIN { $INC{'Aplus.pm'}++; }
use Aplus;
sub . { @. = shift =~ m/(.)/g; sc.l.r @. }  $A+= (. .l.p.ge) - . w.n.doo
# NB: la variable intermédiaire @a est nécessaire!
Obfuscation qualité filtre Stéphane 3-Nov-2001

package Aplus;
use Filter::Simple sub { s/A\+/\$A++/ };
BEGIN { $INC{'Aplus.pm'}++; }
use Aplus;
A+;
Vi rules! Stéphane  

$A += VIM::Windows()
Série Z François Désarménien 24-Oct-2001

*Z=*A;
$Z++;
Pièce jointe Eric 26-Sep-2001

use MIME::Base64;
$A += decode_base64("MQ==");
Religieux Stéphane 17-Sep-2001

eval qq|\$@{ [(join( "\0",qw( Abbot Abbey Amen ))=~
                m/^([^\0]*)[^\0]*(\0\1[^\0]*)*$/)[0]]}++|
Politiquement correct Stéphane 20-Sep-2001

perl -we 'use strict; our $A += qr|japh| =~ ":"; print $A'
Plus vicieux. Stéphane 17-Sep-2001

$A += qr|japh| =~ ':'
Perl fait des tas de conversions et prend des tas d'initiatives. Stéphane 17-Sep-2001

$A += japh =~ japh
Compte sur la probabilité non nulle qu'un rayon cosmique altère la valeur en RAM de $A. Jérôme Abela 11-Sep-2001

$A_original = $A;
while($A != $A_original+1) {}
Teste la fiabilité du générateur de nombres aléatoires. Le résultat devrait converger rapidement Jérôme Abela 11-Sep-2001

$iter = 1000000;
for($n=0 ; $n<$iter ; $n++) {
  $sum += rand(2);
}
$A += $sum/$iter;
Aaaaa Stéphane 11-Sep-2001

`echo 1 >1`;open 1,1; $A += chomp ($a = <1>)
Remplir et décaler Init64 10-Sep-2001

$A+=(~$A^$A)>>((log((~$A|$A)+1)/log(2)-1))
Euuu Stéphane 10-Sep-2001

${<@ >|< !>&~< ">}++
... et merci pour tout le poisson François Désarménien 23-Jul-2001

$A += 42 == 42
Simple [beatnik] 4-Jun-2001

$A -= -1
Puissance nulle [beatnik] 4-Jun-2001

$A += $A**0
Je sais compter en ASCII [beatnik] 4-Jun-2001

$A += ord("1")-48
Consacrons-nous à cette tâche arhuman 12-Feb-2001

my %un;bless \%un,1; $A+=ref \%un;
Roulette russe arhuman 12-Feb-2001

$A += do { reset " " }
Au hasard Philippe Bricout 18-Dec-2000

$A = ($A,++$A,$A++,--$A,$A)[rand(5)]
Cet au revoir est positif et non nul (j'espère) mais il n'est valide qu'un mois ( <=31 ). Philippe Bricout 8-Dec-2000

$A =  ($A<<(--($_=2**$A)/oct'0'.'b'.'0'.'1'x$A))
    -(($A<<0)-($_=2**$A)/oct'0'.'b'.'1'.'0'x$A);
Absolu Philippe Bricout 6-Dec-2000

$A = 2*(-0.5+($A==abs $A)) * push @_, ((2*($A!=abs $A))..abs $A);
Morse ? Philippe Bricout 6-Dec-2000

$A = substr($A,0,1) eq '-'?'-'.length(substr('-' x substr($A,1), 1)) :
length('-'.'-' x $A) ;
Mais il y avait plus simple, comme on disait à "Les chiffres et les lettres"... BooK 6-Dec-2000

$A += fileno STDOUT;
Gagnant du concours secret : ++($A=100)ème assombrissement de la série... Xavier Canehan 6-Dec-2000

$A+=sub{open($A,'>-');fileno $A}->()
J'espère que dans Perl 6 il y aura un moyen plus élégant d'interpoler du code dans une chaîne. David Landgren 5-Dec-2000

$A = length " @{[do{$\" = '';(1)x$A}]}";
Racine limite David Landgren 5-Dec-2000

$A = sub { $_[0]+$_[1]||1 }->(sub {my $A = shift;$A = sqrt $A for
(1..1e6);($A,(shift))}->(abs $A,$A));
Stockage en mémoire de masse David Landgren 2-Dec-2000

$A = do 'A'if open A,'>A'and print A"$A+unlink'A'"and close A;
Arrondi non compris David Landgren 27-Nov-2000

$A += 1e-6 for 1..1e6
Réflexions sur le Halting Problem David Landgren 27-Nov-2000

my $B = $A+1;do {$A+=int(rand()*(1<<9))-(1<<8)} until $A==$B;
Décalage David Landgren 27-Nov-2000

$A = (($A<<1)+(1<<1))>>1
Le sens de la vie... BooK 27-Nov-2000

$A -= fork ? die : wait ? wait : die;
Maths de terminale Jean 23-Nov-2000

use Math::Complex;
$A -= exp(i * pi);
La magie de ++ Maddingue 23-Nov-2000

${substr(++($b='Z'),0,1)}++
Référence symbolique d'un bout de nom de référence David Rigaudiere 22-Nov-2000

$;=[];ref$;=~/^(.)/;$$1+=!$|;
Le quarté dans le désordre BooK 22-Nov-2000

eval join'',sort{ord($a)|(8&ord$a)<<3<=>ord($b)|(8&ord$b)<<3}qw/+ A + $/
Le switch -w, ça fait du bien David Landgren 15-Nov-2000

&{$_=sub{$A+=$^W}};
Remarquable pour l'utilisation de <=> en dehors d'un tri David Landgren 15-Nov-2000

$A = do {local $_ = sub{(scalar(@{[[q(\x00)], (q(\x00))x abs($_[0])]}) *
(($_[0]<=>0)?($_[0]<=>0):1))}; &$_($A)<0?&$_($A) + 2:&$_($A)};
use 5.6; Jean 15-Nov-2000

($A=sprintf "0b0%b", $A)=~s/0(1*)$/"1".(0 x length($1))/e;$A=oct($A);
Pour ceux qui ont une aversion religieuse pour for David Landgren 26-Oct-2000

$A^=$B=1;while(!($A&$B)){$A^=$B<<=1}
Pour $A positif Jean 26-Oct-2000

for($A^=$B=1;!($A&$B);$A^=$B<<=1){}
Assombrissement généré par un programme Perl
David Landgren  

{my @r = sort {$A+=(my$r=$a<=>$b);$r} map {hex} unpack'a2'x
  (length(q(2a4c4760020d2d440258420e4b4614045f112d30070b363218))>>1),
  '1f5d200f4e02590816402a31214a18321b292c515e4e2f3a47';}
Assombrissement bête et méchant David Landgren 12-Oct-2000

BEGIN { local$B=join'',map{chr}sub{((shift)**($_=(shift)))*
        ($_**$_)}->((1<<2)+1=>1<<1),sub{(shift)*(shift) }->
        (3=>(1<<5)+5),sub{(($0=shift)**($0))*(($O=shift)**(
        $O))}->(2=>3),sub{map{$__+=1<<$_}@_;$__}->((reverse
        4..6),2=>0);(substr($B,3,0)=substr($B,1,1)=>substr(
        $B,-1,0)=chr(ord(substr($B,-1))-1))=>((substr($B,1,
        0)=>substr($B,6,0))=(split//=>q(aa)))=>((substr($B,
        6,1)=>substr($B,7,1))=(substr($B,7,1)=>substr($B,1,
        1)))=>$B.='*';eval uc reverse(join(q(=)=>reverse($B
        ) =>join(q(_)=>substr(substr($B=>-2)=>0=>1)=>substr
        ($B,-1))));}sub _A{$_A=~tr(-,[0-9]&(%{}))()cd;$_A+1
}
$A = &{"_$A"};
Numéro de téléphone ? Julien Bordet 12-Oct-2000

eval pack("C4", <DATA> =~ m#(\d{2})#g);
__DATA__
36654343
Une autre mal-adresse BooK 10-Oct-2000

$A+=\$A//\A//bless\$A
Mal-adresse BooK 10-Oct-2000

$A+=\$A/bless\$A||/\A/
Dirac Stéphane 8-Oct-2000

${ chr split '', $_ =
 '____/\____||!
                          / \Q
$ Dirac ** 2+| |
$ Chomsky**2 \ /'
} += eval $_
Langage naturel Kai 6-Oct-2000

package plusplus;
sub AUTOLOAD{${(caller(0))[3]}=~/$_[0]::(.*)$/;$1.'++'}
package main;
sub dollar{eval'$'.shift;}
dollar A plusplus
Il faut bannir l'opérateur =~ Stéphane 3-Oct-2000

$__ = ($_) = qr|(\ua)| =~ qr|(a)|i; $$_+=$__
(F) A fatal error (trappable). (Perl 5.005) BooK  

%_=('m/X**/','\?. ','for a{}','\s.\s'=>'m/{3}/','\?.\*'=>'1',$"
=''=>'k if exists$K'=>'.Y');for(sort+keys%_){eval;$@=~/$_{$_}/;
push@_,substr($&,-2,1)};eval"@_";
A la chaîne Kai 26-Sep-2000

map{$_++}$A
Empilement de fonctions auto-générées David Landgren 26-Sep-2000

sub AUTOLOAD {*A=*AUTOLOAD;*$A=sub{substr($A,1+rindex($A,q(_)))+1};&$A;}
$A = &{"_$A"};
VFS: Mounted root (ext2 filesystem) readonly. David Landgren  

$A+=-d'/'
Caractères compris entre @ et ~ BooK 13-Sep-2000

s]]aAaa]|s~a~A^e~e|s}aa}BC^ih}e|eval
On a toujours besoin des autres Julien Bordet 12-Sep-2000

*B = *A; $B += !defined($C);
2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 == 65 Stéphane 11-Sep-2000

use 5.6;
'obfuscation'=~m/(.{2,}?)(?{$a.=$1;})$/;
${eval sprintf"v%1.1f",scalar split'',$a}++
Utilise plus plus Stéphane 10-Sep-2000

BEGIN { $INC{'more.pm'}++ }
use more $A++
Utilise moins Stéphane 27-Aug-2000

use less $A++
List of Lisp Stéphane 7-Sep-2000

; q
(setq A (if (boundp 'A) (+ 1 A) 1) ) ; $A++;
En for(th|ce) Stéphane 6-Sep-2000

( # ) VARIABLE A 0 A ! : $A++; A @ 1+ A ! ; : :-) ; : ); :-) ;
);
$A++;
P(erl|ython) BooK 5-Sep-2000

q = 0 #=;sub A{$A};$
A = 1 + A
Anonymous glob Stéphane 30-Aug-2000

use Symbol; $*{$a = ${+gensym}}{SCALAR} = 'A'; ${$*{$a}{SCALAR}}++
Pseudo-hash Stéphane  

${($a = [ { un => 1, 'A' => 2 }, 1, A ])->{A}} += $a->{un}
use 5.6.0; suite Stéphane 27-Aug-2000

eval eval join '.', map { ord } split '', '$A++'
use 5.6.0; Stéphane 27-Aug-2000

${ eval v65 }++
Matches et prolongations 3 : ... mais bitwise Stéphane 26-Aug-2000

$A += !!/_/ ||  m|/\|m | | !!\_
Matches et prolongations 2 : intox pa(tho)?s? logique Stéphane 26-Aug-2000

$A += !!/_/ ||  m|/\|m  || !!\_
Matches et prolongations 1 : imprégnation Stéphane 26-Aug-2000

$A += !!/_/ || m|_/\_|m || !!\_
Effet de bord Stéphane 15-Aug-2000

tie $A, A; print $A;
package A;
sub TIESCALAR { my $A; bless \$A, shift}
sub FETCH { shift; ++$${shift}}
- Ça imprime pas !
- C'est Henri... il a mis un assombrissement dans son code Perl...
David Rigaudiere 11-Aug-2000

$A += print ''
Pour un éventuel portage sur une machine qui ne sait pas comment faire des additions... Artur  

@b = split "", unpack "b*",(pack "l",$A);
foreach(@b){$_=$_?0:1;last if($_)};
$A = unpack "l", pack "b*",(join "",@b);
Le 13ème premier...
Stéphane  

@_ = grep { (0 x $_) !~ m/^(..+)(?:\1)+$/ && $_ } 0 .. 666 ;
${chr eval eval "'0x'. $_[$_[$_[4]-$_[0]]]"}++
bAnAnA split BooK 7-Aug-2000

$A = split/AA/,'A'.'AA'x$A
Transfuge C++ Eric 3-Aug-2000

use Filter::cpp;
#define INCREMENT 1
$A += INCREMENT;
use 5.00563; Stéphane 1-Aug-2000

$A -= system malfunction
Acrostiche BooK 27-Jul-2000

eval join'', q"$_=0;sub A{ ++$b; ++$c}" =~ m/(?:\s|^)(\S)\S*/g
Anagramme Robin 27-Jul-2000

${*A{join'',(split /(A)/,'RASCAL')[-3,1,-1,3,0]}}++
package main; Robin 27-Jul-2000

${uc((**{PACKAGE}=~/(.)/g)[1])}++
Zenon's A+ Alain Tesio 11-Aug-2000

while ($Z!=1) { $Z+=(1-$Z)/2; $A+=1-$Z }
Cucul la praline BooK 27-Jun-2000

qq$@{[\$A++]}$
Postfixe et infixe BooK 22-Jun-2000

/${1}def/#{def}def/;{/A}def/++{add}def/A 1 def
; $ A ++ # % Mon imprimante, elle sait compter
Chaîne truquée D0vid 22-May-2000

qq{D@{[$a++]}vid} # heuh, ça fait quoi au juste ?
Presque use AI; BooK 10-May-2000

sub plus {\(${$_[0]}+=.5)}
plus plus A
Je déréférence exactement ce que je veux ! BooK  

${*A{SCALAR}}++
On n'est jamais mieux servi que par soi-même David Landgren 3-May-2000

foreach(qw{36 29 -22 0}){$A{A}.=chr($A{AA}+=$_)}eval$A{A}
Simple tableau BooK 26-Apr-2000

$A = @{[0..$A]}
Précedence, quand tu nous tiens... BooK 26-Apr-2000

1?$A+=.5:$A+=.5
Le même, mais plus sûr Moun's 25-Apr-2000

$A+=($A)?($A/$A):(1)
Fatigué et non nul BooK 24-Apr-2000

$A+=$A/$A
typeglob++ BooK  

*A=\($A+1)
Vieux routier de l'intelligence artificielle Stéphane 13-Apr-2000

use AI;
incrémente la variable scalaire A d'une unité  # $A++
Vieux routier de l'informatique David Landgren 12-Apr-2000

use Cobol;
PROCEDURE DIVISION
ADD 1 TO A GIVING B
MOVE B TO A
Fin variable BooK 30-Mar-2000

$A=~s/([0-8]?9*)$/$1+1/e
Nombre d'éléments d'un tableau BooK 30-Mar-2000

$A=@{[($A)x$A,$A]}
$A+1 substitutions BooK 7-Dec-2000

$A=($A='$A'.'$A'x$A)=~s/\$A/=/g
Contenu d'un tableau BooK 7-Dec-1999

$A=eval q.@{[.."0,"x$A.qq|0]}|
Contenu d'un tableau 2 BooK  

$A=scalar@{[eval'0,'x$A.0]}
Intéressant Stéphane 23-Apr-2000

${"A\0comme quoi perl n'ignore pas partout les \0"}++
Sans caractère alphanumérique ($A++) Stéphane + BooK 12-Apr-2000

${'@'|'!'&~'"'}-=$#$+${""}-${''}
Sans caractère alphanumérique ($a++) Stéphane 12-Apr-2000

$ {'`'| '!'}-=-- +$#$+ $ { ""}- --$ { ''}
Sans caractère alphanumérique ($a++) 2 Stéphane 12-Apr-2000

${ '`' | '!' } -= $#$ + ${""} - ${''}
Illegal division by zero at -e line 1. BooK 12-Apr-2000

$A=1/$A*(reverse map{$A+=$_}(1..$A,$A=0))[0]
pour $A positif David Landgren 6-Apr-2000

$A = do{$_=!$_;$_<<=1 while($A&$_<<1<=$A);
($A&$_|1) + ($A&$_&&$A&~$_|1||$A&~$_)}
C'est $A qui m'intéresse BooK 6-Apr-2000

$A = $A{$A} ? &{$A{$A}}($A) : &{$A{$A} = sub{1+shift}} ($A)
Je pose 0 et je retiens 1... David Landgren 5-Apr-2000

$A = do{ while(1&$A){$A>>=1} continue{++$AA} ($A|1)<<$AA}
goto nulle part BooK 1-Apr-2000

A:goto(A)if$A!=$A+++1
Idem, commentaire sexiste BooK 24-Mar-2000

$A=~s/(-)?(\d+(?:\.\d*)?)/#les filles c'est des cloches (Souchon)
                      "$1 1+"x$2.'1'/sexisme
Name "main::A" used only once: possible typo at -e line 1. David Landgren 22-Mar-2000

$A+=1
Idem, no comment BooK 13-Mar-2000

$A=~s/(-)?(\d+(?:\.\d*)?)/"$1 1+"x$2.'1'/egoisme
pour $A entier BooK 13-Mar-2000

$A =~ s/(-)?(\d+(?:\.\d*)?)/ $1.($2+($1?-1:1))/e
Il y a quand même un point fixe... David Landgren 18-Feb-2000

$A+=do{qq{@{[cos$A!=$A]}}}
Tableau à 1 élément BooK 18-Feb-2000

$A+=@{[$A]}
Remplacement par soi-même, puis incrément BooK 7-Dec-1999

$A=~s/$A/++$A/e
J'échange BooK 7-Dec-1999

$A=~s/$A/$A+1/e
Copier-coller BooK 4-Nov-1999

$A=~s/($A)/$1+1/e
1, 2, 3 nous irons au bois... BooK 4-Nov-1999

$A+=0<<1|2<<3>>4
Compte à rebours BooK  

$A+=3>>2|1<<0
pour $A entier positif ou nul BooK  

$A+=$A>>31|~$A>>31
Boucle d'or Moun's  

do{s/^(\d+)/'\'x$1.".\(${\(++$*)}."/e}
        while(s/\(\*.\.*\()(\d*)/$1.${\($*=$2*length$1)}/e)
Remarquable Moun's 15-Dec-1999

$A = ($A*$A-1)/($A-1)
Renversant Moun's 7-Dec-1999

$A =~ s/^(.*)$/local($\)=1; join "", reverse map
                {((($\==0)&&($_))||($\=0)||($_!=9)&&(($_+1)))||(($\=1)&&(0))}
                reverse grep \/\d\/, split \/(\d)\/, "$1"/e
Tordu Moun's  

$A = eval { $A + 1 }
Nihiliste suicidaire Moun's  

$A = $A + 1
Débutant et/ou transfuge C Moun's  

$A += 1
Débutant et/ou transfuge C++ (bou!) Moun's  

$A++

Quelques statistiques

On compte au total 309 obfuscations, par 47 auteurs :

  • Stéphane Payrard : 66
  • Sylvain Lhullier : 46
  • Philippe "BooK" Bruhat : 45
  • David Landgren : 31
  • Christian Aperghis-Tramoni : 16
  • Jérôme Quelin : 11
  • Samuel "Moun's" Mouniée : 8
  • Philippe Bricout : 8
  • Sébastien "Maddingue" Aperghis-Tramoni : 7
  • Philippe Rimbault : 5
  • Mtv Europe : 4
  • Jean Forget : 4
  • Robin Berjon : 4
  • Hendrik "beatnik" Van Belleghem : 3
  • François Désarménien : 3
  • Damien Krotkine : 3
  • Olivier Mengué : 3
  • Nicholas Clark : 3
  • Julien Bordet : 2
  • Eric Cholet : 2
  • Rafael Garcia-Suarez : 2
  • Julien Gilles : 2
  • Jérôme Abela : 2
  • David "Sniper" Rigaudiere : 2
  • Olivier "Init64" Matt : 2
  • Simon Maréchal : 2
  • Arnaud "arhuman" Assad : 2
  • François Pons : 2
  • Kai Carver : 2
  • Vincent Storez : 1
  • Artur Silveira da Cunha : 1
  • Olivier Poitrey : 1
  • Gilles Arcas : 1
  • Christophe Grosjean : 1
  • Pied Axioplase : 1
  • Court-Jus : 1
  • Sébastien Morin : 1
  • Greg McCaroll : 1
  • Fabien Venzac : 1
  • Xavier Canehan : 1
  • Guillaume Rousse : 1
  • Alain Tesio : 1
  • Christophe Renard : 1
  • Wesley Darlington : 1
  • Gaal Yahas : 1
  • Andrew Savige : 1
  • Didier Collin : 1

What the f... ?

It is a current usage in France to say "à plus" which is a short for "à plus tard". This means "See you later". Some French C++ programmers thought smart to adapt that tradition and end their mail with A++

The Perl Mongueurs de Paris have a long tradition of obfuscation and have seen an opportunity to apply their skills: they are obfucating $A++. You can join them and send your contributions at [email protected]

This is an informal game but we have decided to raise acceptation criteria. Besides having a distinguished Perl flavor, a candidate entry must use a conbination of one or more obfuscations: convoluted syntax, complex semantics or algorithms, powerful or obscure librairies, In general, the script must be iterable. We encourage people to submit $A++ in Perl6, or Parrot assembly language and will be initially more lax in their acceptation.

Qu'est-ce que ça veut dire ?

Il est maintenant courant de dire "à plus" pour "à plus tard". Les programmeurs C++ qui se croient plus malins que les autres, ont pris pour habitude de dire A++ pour "à plus" à la fin de leurs mails.

Les Perl Mongueurs de Paris, qui se croient plus obfuscateurs que les autres, ont adapté la chose à leur langage de prédilection, dont le slogan est «there is more than one way to do it», c'est-à-dire «il y a plus d'une manière de le faire». Voici donc de multiple manières d'ajouter 1 à une variable qui s'appelle $A.

Vous pouvez envoyer vos propositions à [email protected]

Tout en gardant ce jeu relativement informel, nous avons décidé d'élever le niveau de critère d'acceptation des $A++. Une bonne entrée utilise des particularités étonnantes de la syntaxe Perl, des bizarreries sémantiques, des constructions, librairies puissantes ou peu connues, voire des astuces algorithmiques si associées à des critères précédents. De plus l'exécution du script doit pouvoir être itérée sauf quand la nature même de l'astuce l'empêche. Nous encourageons les entrées en Perl6 ou en langage assembleur Parrot, En l'absence de précédents, la barre y est moins haute.

N'oubliez pas de visiter Paris.pm canal assombri.


HTML 5 - CSS v3 Mongueurs de Paris, le 1 mai 2018 Copyright © The Paris Perl Mongers, 1999-2024