एक अन्य पर्ल हैकर

एक अन्य पर्ल या जेएपीएच, विशिष्ट रूप से एक पर्ल प्रोग्राम को संदर्भित करता है जो "एक अन्य पर्ल हैकर" प्रिंट करता है, (अल्पविराम कैनानिकल है किन्तु कभी-कभी हटा दिया जाता है)। शार्ट JAPH प्रोग्राम का उपयोग प्रायः ऑनलाइन इंटरनेट फोरम पर सिग्नेचर के रूप में, या टीशर्ट डिज़ाइन के रूप में किया जाता है। सिग्नेचर के लिए वाक्यांश या संक्षिप्त नाम का उपयोग (बिना कोड के) भी प्रायः किया जाता है।

जेएपीएच प्रोग्राम ऑब्फास्केट सी कॉन्टेस्ट के विचार में, अत्यंत ऑब्फास्केट विधियों का उपयोग करके चिरसम्मतः किए जाते हैं। वर्तमान में जैसे ही यह परिघटना प्रसिद्ध हो गई, इस वाक्यांश का उपयोग प्रायः सामान्य उदाहरणों में किया जाता है (ऑब्फास्केशन के बिना)।

एक सिग्नेचर को सिग्नेचर के रूप में प्रिंट करने वाले शार्ट पर्ल प्रोग्राम का उपयोग करने का विचार रैंडल एल. श्वार्ट्ज द्वारा न्यूज़ग्रुप कॉम्प.लैंग.पर्ल के लिए अपनी पोस्टिंग में उत्पन्न हुआ था। उन्होंने अनेक JAPH प्रोग्राम लिखे जो नीचे दर्शाए गए हैं।

उदाहरण
ऑब्फास्केशन के बिना JAPH प्रोग्राम:

ओपेक (अपारदर्शी) कोड में JAPH एम्बेड करना:

ट्रांसपोज़्ड स्ट्रिंग लिट्रल से JAPH को डिकोड करना:

JAPH को अलग प्रक्रियाओं के रूप में प्रिंट करना: ऐसा प्रतीत होता है मानो यह JAPH को प्रिंट करने से पूरी तरह से असंबंधित कुछ कर रहा है:

प्रत्येक अक्षर को सही क्रम में प्रिंट करने के लिए फोर्किंग प्रोसेस: केवल पर्ल कीवर्ड (कंप्यूटर प्रोग्रामिंग) का उपयोग करना (कोई विराम चिह्न नहीं): केवल विराम चिह्नों का उपयोग करना, कोई अल्फ़ान्यूमेरिक वर्ण नहीं। यह पर्ल 5.30.0 के पश्चात ब्रेक हो जाता है क्योंकि $# और $* का उपयोग करने से फेटल एरर उत्पन्न होती हैं। यह JAPH एरिक रूड द्वारा लिखा गया था और यह केवल यूनिक्स और यूनिक्स जैसी प्रणालियों पर कार्य करता है: EyeDrops मॉड्यूल के आधार पर, केवल विराम चिह्न का उपयोग करते हुए एक बहुत छोटा मॉड्यूल: ASCII आर्ट (इस ड्रोमेडरी-शेप्ड के कोड को कार्य करने के लिए कंसोल साइज  को कम से कम 119×48 पर सेट करने की आवश्यकता है):

यह भी देखें

 * हैलो वर्ल्ड! प्रोग्राम
 * ऑब्फास्केट पर्ल कॉन्टेस्ट
 * पर्ल गोल्फ

बाहरी संबंध

 * Cultured Perl: The Elegance of JAPH
 * Cpan.org, a collection of JAPHs at CPAN.
 * How does this famous JAPh work? and Fun With Reserved Keywords at Stack Overflow explain how blokhead's code works.