Tantangan golf kode klasik. Tulis program Perl yang paling tidak jelas untuk mencetak "Just another Perl hacker". Inilah artikel Wikipedia di atasnya. Poin bonus jika cocok masing-masing dalam 3 baris / 70 karakter.
popularity-contest
obfuscation
perl
Thomas O
sumber
sumber
Jawaban:
Saya tidak yakin apakah baris baru di akhir diperlukan: jika demikian, penambahan
."\n"
masih belum membawa saya ke batas 3 baris * 70 karakter / baris.Jika bukan karena masalah penyandian, inisialisasi dapat jauh lebih kecil dan diekstraksi dengan membongkar, jadi saya berharap seseorang dapat memperbaiki ini. Saya sedang berpikir untuk membuat versi yang lebih efisien - ini adalah O (n ^ 2), dan O (n lg n) decoding dimungkinkan.
sumber
sumber
versi animasi :)
sumber
Kurang dari 70 karakter pada 3 baris:
Perawatan: Ini disandikan ISO-8859-1 .
Lebih dari 70 karakter sama sekali, tetapi kurang dari 100!
Dan sedikit dikaburkan !
Sedikit jauh ?!
Ada skrip perl <1'000 dengan bantuan penuh dan beberapa fitur:
(Ini juga disandikan ISO-8859-1 ;)
Ada beberapa fitur:
Dimana:
-v
tanda tangan-h
string bantuan-j
prompt Hanya perl hacker lain.-c
hidupkan string japh atau string yang dikirimkan jika ada-k
buang skripnya sendiri-p
polute skrip lainBegitu:
(String terakhir dianimasikan :)
Mencoba menghilangkan kekaburan
Ada modul B :: Deparse yang bagus yang tersedia di CPAN:
Yah, ini lebih mudah dibaca, tapi ...
Ok, ada a
pack('v', 27000)
, apa artinya:Hmm. jadi kami bisa mencoba menyederhanakan pekerjaan deparser:
Nah, sekarang sudah jelas bahwa seluruh skrip terdapat
qq(...)
pada baris 2 dan harus diserahkaneval
. Kita sekarang bisa:Dengan harapan deparser dapat lebih memahami, sekarang:
Baik! Kami punya sesuatu yang hampir bisa dibaca, sekarang. Apakah ini selalu memberikan hasil yang sama?
(Dan baris terakhir dianimasikan :)
sumber
Ini bekerja dengan striktur diaktifkan. Meskipun tidak bekerja pada semua mesin / perl, karena
CORE'die
dan~~%ENV
.sumber