Desafio de golfe de código clássico. Escreva o programa Perl mais obscuro para imprimir "Apenas outro hacker Perl". Aqui está o artigo da Wikipedia. Pontos de bônus se couber em 3 linhas / 70 caracteres cada.
popularity-contest
obfuscation
perl
Thomas O
fonte
fonte
Respostas:
Não tenho certeza se é necessária uma nova linha no final: nesse caso, a adição de
."\n"
still ainda não me leva ao limite de 3 linhas * 70 caracteres / linha.Se não fosse por problemas de codificação, a inicialização poderia ser muito menor e extraída com a descompactação, então espero que alguém possa melhorar isso. Estou pensando em criar uma versão mais eficiente - isso é O (n ^ 2) e é possível decodificar O (n lg n).
fonte
fonte
versão animada :)
fonte
Menos de 70 caracteres em 3 linhas:
Cuidado: é codificado em ISO-8859-1 .
Mais de 70 caracteres, mas menos de 100!
E um pouco ofuscado !
Um pouco longe ?!
Existe um script perl <1'000 com uma ajuda completa e alguns recursos:
(Também possui codificação ISO-8859-1 ;)
Existem alguns recursos:
Onde:
-v
assinatura-h
cadeia de ajuda-j
prompt Apenas outro hacker perl.-c
animar a sequência japh ou uma sequência enviada, se houver-k
despejar o script ele mesmo-p
poluir outro scriptTão:
(A última string é animada :)
Tentando desobstruir
Existe um bom módulo B :: Deparse disponível no CPAN:
Bem, isso é mais legível, mas ...
Ok, existe um
pack('v', 27000)
, o que significa:Hmm. para que pudéssemos simplificar o trabalho do deparser:
Bem, agora está claro que todo o script está contido na
qq(...)
linha 2 e deve ser submetidoeval
. Poderíamos agora:Na esperança que o participante pudesse entender melhor agora:
Bem! Temos algo quase legível, agora. Isso sempre dá o mesmo resultado?
(E a última linha é animada :)
fonte
Funciona com restrições restritas. Embora não funcione em todas as máquinas / perls, devido a
CORE'die
e~~%ENV
.fonte