2008-09-16 13 views
91

win32.perl.org वेबसाइट एमएस विंडोज के लिए कई पर्ल वितरणों के संदर्भ प्रदान करती है।विंडोज पर पर्ल के किस संस्करण का उपयोग करना चाहिए?

एक लंबे समय मैं ActiveState से ActivePerl उपयोग किया गया है, लेकिन के लिए हाल ही में मैं Strawberry Perl करने लगे।

IMHO केवल लाभ सक्रिय पर्ल अभी भी स्ट्राबेरी पर्ल से अधिक है कि तथ्य यह है कि यह पर्ल टी के साथ आता है जो Devel::ptkdb चित्रमय डिबगर स्थापित करने के लिए अपनी आसान का मतलब है। इसके अलावा, मुझे लगता है कि स्ट्रॉबेरी पर्ल के सभी फायदे हैं।

+0

इस पोस्ट के बाद से मैंने मूस, डांसर और पैड्रे सहित कई अतिरिक्त मॉड्यूल के साथ स्ट्रॉबेरी पर्ल को फिर से पैकेज करना शुरू कर दिया। पाठक इसे भी इस पर विचार करना चाहेंगे: http://dwimperl.com/ – szabgab

उत्तर

76

Strawberry Perl बस बेहतर और बेहतर हो रहा है। एक समस्या जो मैंने बार-बार सक्रियस्टेट के साथ की है वह यह है कि मेरे मॉड्यूल कभी-कभी स्थापित करने में असफल होते हैं क्योंकि मुझे कोर मॉड्यूल में अपग्रेड की आवश्यकता होती है, लेकिन वे इसकी अनुमति नहीं देंगे। इस प्रकार, का उपयोग करने वाले सभी लोग मेरे कोड का उपयोग नहीं कर सकते हैं, लेकिन वे ActiveState के पर्ल के साथ ऐसा नहीं कर सकते हैं।

एक्टिवस्टेट में भी एक बहुत ही डोडी बिल्ड सिस्टम है जो प्रायः रिपोर्ट करने में विफल रहता है कि मॉड्यूल क्यों निर्माण में विफल रहा। मैं ईमेलिंग के इतने थक गया और इस जानकारी के बारे में पूछता हूं जिसे मैंने अंततः छोड़ दिया। मैं चाहता हूं कि मेरा कोड विंडोज पर चलाना चाहे, लेकिन अगर ActiveState मुझे उस जानकारी के साथ प्रदान नहीं करता है और मुझे कोर मॉड्यूल को अपग्रेड करने के लिए कोई विकल्प नहीं देता है, तो मैं इसका उपयोग नहीं कर सकता। मेरे कुछ मॉड्यूल में किसी भी ऑपरेटिंग सिस्टम पर कोई बिल्ड विफलता नहीं है - एक्टिवस्टेट पर्ल वाले को छोड़कर। समर्थन स्ट्रॉबेरी पर्ल और केवल ActiveState के बारे में चिंता मत करो।

यदि एक्टिवस्टेट ने अपनी बिल्ड सिस्टम और उनके 'कोर मॉड्यूल में अपग्रेड नहीं किया है' नीति तय की है, तो यह पुनरीक्षण के लायक है।

+8

एएस पर्ल 5.8.8 बिल्ड 518 (जनवरी 2007 में जारी) से कोर मॉड्यूल को अपग्रेड करना संभव है। उन्होंने 2008 में अपने सीपीएएन बिल्ड सिस्टम को भी अपग्रेड किया, लेकिन मुझे बिल्कुल नहीं पता कि कब। –

+1

स्ट्रॉबेरी पर्ल महान है। हालांकि, यदि आप अपने शेल के रूप में एमएसआईएस बैश का उपयोग करते हैं, तो एक [ज्ञात समस्या] (https://rt.cpan.org/Public/Bug/Display.html?id=82837) है कि 'cpan' जैसे आदेश नहीं हैं काम। –

17

मैं मुख्य रूप से ActivePerl का उपयोग करता हूं, लेकिन मुझे वास्तव में पसंद है जहां स्ट्रॉबेरी पर्ल का नेतृत्व किया जाता है। मुझे प्यार है कि सीपीए खोल "बस काम करता है" और मुझे एक्सएस मॉड्यूल स्थापित करने के लिए हुप्स के गुच्छा से कूदना नहीं है। (उदाहरण के लिए Extutils :: FakeConfig, हालांकि हाल ही में ActivePerl बनाता है जो कम आवश्यक है।) मैं थंबड्राइव पर पर्ल की संभावना के बारे में भी उत्साहित हूं। Portable Perl की देव रिलीज पहले से ही काफी उपयोगी है।

मैं मानता हूं कि ActivePerl का मुख्य लाभ बॉक्स से बाहर है, लेकिन ध्यान दें कि 5.10 ActivePerl अब डिफ़ॉल्ट रूप से टैंक के साथ जहाजों के साथ नहीं है। यह इसके बजाय Tkx के साथ जहाज।

2

एक्टिवस्टेट पर्ल को कुछ समय के लिए वास्तविक रूप से विंडोज पर्ल माना जाता है। हालांकि इसमें बहुत सारी त्रुटियां हैं और हम में से कुछ और कुछ उपयोग करते हैं, यह बहुत लोकप्रिय है। यदि आप विंडोज मशीन (अपने स्वयं के अलावा) पर निष्पादित करने के लिए पर्ल कोड बना रहे थे, तो मैं इसे डिफ़ॉल्ट रूप से एक आंख से लिखने पर विचार करता हूं (या डिफ़ॉल्ट रूप में जितना डिफ़ॉल्ट हो सकता है) एएस पर्ल इंस्टॉलेशन इसे निष्पादित करता है। कुछ और और आप बाद में अपने ऐप का उपयोग करने की कोशिश कर रहे लोगों के लिए प्रवेश के लिए बाधाओं को पेश कर रहे हैं।

+0

AFAIK, PAR पीपी स्ट्रॉबेरी के साथ ठीक काम करता है जो आपके ऐप्स को वितरित करने के मामले में एक बड़ा फायदा है क्योंकि IIUC आपको पीपी संकलित ऐप्स वितरित करने में सक्षम होने के लिए एक OEM लाइसेंस की आवश्यकता होगी यदि आप उनके डीएलएल का उपयोग करते हैं। –

+2

@Sinan, ActivePerl लाइसेंसिंग और PAR के बारे में आपका बयान गलत है। लाइसेंस के क्लॉज 4 देखें 'लाइसेंस आपको PAR, PerlApp या Perl2Exe जैसे रैपिंग टूल द्वारा जेनरेट किए गए एप्लिकेशन के हिस्से के रूप में पैकेज के हिस्सों को फिर से वितरित करने की अनुमति देता है। हालांकि, यह लाइसेंस आपको (ए) पैकेज को पूरी तरह से पुनर्वितरित करने की अनुमति नहीं देता है, (बी) भाषा वितरण बनाने के लिए अपने हिस्सों का उपयोग करें, या (सी) पर्लस्क्रिप्ट को पुनर्वितरित करें, आईएसएपीआई या पर्लएक्स घटकों के लिए अपने आवेदन के साथ पर्ल। http://www.activestate.com/activeperl/license/ – daotoad

+0

@daotoad हम्मम्म ... मैं एक पूर्व संस्करण की कसम खाता हूं कि इसे अनुमति नहीं दी गई है, लेकिन मुझे यह भी यकीन नहीं है कि मैं सही तरीके से याद कर रहा हूं। सुधार के लिए धन्यवाद। –

13

भविष्य निश्चित रूप से स्ट्रॉबेरी पर्ल है। जो भी आपने चुना है (और यह समस्या विंडोज के लिए अद्वितीय नहीं है), यदि आप अन्य मशीनों के अंतिम परिणाम वितरित कर रहे हैं, तो आपको इंस्टॉलर/इंस्टॉलेशन निर्देशों के संबंध में सावधान रहना होगा।

28

कोई एकल सर्वश्रेष्ठ पर्ल वितरण नहीं है। Vanilla Perl (स्थानापन्न, पुनर्वितरण योग्य पर्ल), और यह अधिक डेवलपर-अनुकूल Strawberry Perl में महत्वपूर्ण क्षमता है।

हालांकि, एक बहुत अच्छा कारण है कि ActivePerl इतना लोकप्रिय है। फायदे ज्यादातर आपके अंतिम उपयोगकर्ताओं के लिए तैनाती की आसानी के रूप में आते हैं (उनके पैकेज मैनेजर, पीपीएम का उपयोग करने के लिए आवश्यक कोई कंपाइलर नहीं)।एक्टिवस्टेट पीडीके (पर्ल डेवलपमेंट किट) एक पूर्ण विंडोज बाइनरी पैक करने का एक बहुत अच्छा तरीका है जिसे उपयोगकर्ता की मशीन पर किसी भी पर्ल को स्थापित करने की आवश्यकता नहीं होती है।

दुर्भाग्यवश, कई बहुत अच्छे सीपीएएन मॉड्यूल (जैसे ओपनएसएसएल के लिए पर्ल बाइंडिंग) सक्रियस्टेट के भंडार के माध्यम से उपलब्ध नहीं हैं।

अधिकांश चीजों की तरह, आपको अपना चयन करना चाहिए कि कौन से वितरण आपकी आवश्यकताओं को पूरा करते हैं।

+0

पर्लएप एक उपयोगी टूल जैसा प्रतीत होता है (मैंने इसे पार :: पैकर से तुलना नहीं की है), लेकिन पीडीके में यह $ 300 मूल्य टैग है। –

2

मुझे स्ट्रॉबेरी के साथ बड़ी समस्याएं थीं, और मुझे लगा कि कोई समर्थन नहीं था। पर्लमोन्क्स के अच्छे लोग मेरी मदद नहीं कर सके, और मैंने छोड़ दिया। यदि this page आपको विश्वास की एक निश्चित कमी के साथ छोड़ देता है, तो आपका जवाब है।

6

Strawberry Perl पर्ल ऑन * निक्स की तरह अधिक है। यह MinGW के साथ आता है जो कि अपने आप में उपयोगी हो सकता है। पर्ल मॉड्यूल को पीपीएम या सीपीएन के साथ भी स्थापित किया जा सकता है।

+1

नोट: यदि आप स्ट्रॉबेरी पर्ल के साथ मिंगव स्थापित करते हैं, तो ध्यान रखें कि स्ट्रॉबेरी पर्ल minsys ऐप्स के विभिन्न संस्करणों का उपयोग कर सकता है। Win32 :: OLE और अन्य मॉड्यूल बनाने के लिए मुझे स्ट्रॉबेरी पर्ल प्राप्त करने में कुछ बड़ी समस्याएं थीं जब तक कि मैंने अपने पथ से मिंगव हटा दिया। –

+0

यदि आप वास्तव में विंडोज़ पर पर्ल ऑन * निक्स जैसे पर्ल चाहते हैं, तो एसयूए/एसएफयू इंस्टॉल करें (उस पर्ल को इंस्टॉल न करें) और डेबियन इंटरिक्स/पीकेएसआरआरसी-इंटरिक्स के पर्ल का उपयोग करें। – MkV

3

मैं हमेशा सिग्विन का उपयोग करता हूं (बैश के साथ xterms cmd windows से बहुत बेहतर हैं) और इसके साथ आने वाला पर्ल। मैं सीपीएएन खोल ("सीपीएन" कमांड) के साथ पर्ल मॉड्यूल स्थापित करता हूं; यह बढ़िया काम करता है।

1

कोड जो मैं फॉच्र्युन 500 कंपनियों में भूमि लिखता हूं, इसलिए "कॉर्पोरेट" भावना उपयोगी होती है। मैंने अभी तक ActivePerl का उपयोग किया है, और यह आंतरिक टूलिंग और उन बड़े ग्राहकों के वितरण के लिए ठीक काम करता है।

4

अब तक स्ट्रॉबेरी पर्ल पसंद करते हैं। एक के लिए, यह mingwin के हिस्से के रूप में जीसीसी स्थापित करता है, ताकि आप सीधे सीपीएएन से स्थापित कर सकें।

मैंने थोड़ी देर के लिए एक्टिवस्टेट के पर्ल का उपयोग किया, लेकिन मुझे एक मशीन से दूसरी तरफ बहुत सहजता मिली थी (भले ही) समान रूप से कॉन्फ़िगर किया गया हो। उनके पीपीएम मॉड्यूल पैकेजिंग ने भी एक बुरा स्वाद छोड़ दिया। यह संकुल प्रबंधित करने के लिए इसे मृत-सरल बनाता है, लेकिन आप सीपीएएन अपडेट के बाद पीपीएम अपडेट करने के लिए उन पर भरोसा करते हैं। इसके अलावा, पीपीएम किसी भी माध्यम से सीपीएएन की पूर्ण सामग्री नहीं है; पिछली बार जब मैं ActivePerl का उपयोग करता था, मुझे आवश्यक सभी मॉड्यूल खोजने में कठिनाई होती थी, और वहां मौजूद लोग अक्सर पुराने संस्करण थे।

+1

मुझे उत्सुकता है कि डाउन-वोट किसने रेट किया। – gWaldo

0

मैं सक्रिय स्टेट पर्ल 5.014 का उपयोग कर रहा हूं, जो ठीक काम करता है।

समस्या यह है कि इसमें पैड्रे का नवीनतम संस्करण नहीं है (आईडीई, डीबबगिंग पर्यावरण)।

संबंधित मुद्दे