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++
|
On compte au total 309 obfuscations, par 47 auteurs :
|
|
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.
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.