GoGPT Best VPN GoSearch

OnWorks فافيكون

perlfaq3 - الإنترنت في السحابة

قم بتشغيل perlfaq3 في مزود الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر perlfaq3 الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


perlfaq3 - أدوات البرمجة

VERSION


إصدار 5.021009

الوصف


يجيب هذا القسم من الأسئلة الشائعة على الأسئلة المتعلقة بأدوات المبرمج والبرمجة
دعم.

كيفية do I do (أي شئ)؟
هل نظرت إلى CPAN (انظر perlfaq2)؟ من المحتمل أن يكون شخص ما قد كتب بالفعل ملف
وحدة يمكنها حل مشكلتك. هل قرأت الصفحات المناسبة؟ هنا أ
فهرس موجز:

الأساسيات
perldata - أنواع بيانات بيرل
perlvar - متغيرات Perl محددة مسبقًا
بيرلسن - تركيب بيرل
بيرلوب - معاملات بيرل والأسبقية
perlsub - الإجراءات الفرعية لبيرل
التنفيذ
perlrun - كيفية تنفيذ مترجم Perl
perldebug - تصحيح أخطاء Perl
وظائف
perlfunc - وظائف Perl المدمجة
الأجسام
perlref - مراجع Perl وهياكل البيانات المتداخلة
perlmod - وحدات بيرل (حزم وجداول الرموز)
perlobj - كائنات Perl
perltie - كيفية إخفاء فئة الكائن في متغير بسيط
هياكل البيانات
perlref - مراجع Perl وهياكل البيانات المتداخلة
perllol - التلاعب بمصفوفات المصفوفات في لغة Perl
perldsc - كتاب طهي هياكل بيانات Perl
الأقسام
perlmod - وحدات بيرل (حزم وجداول الرموز)
perlmodlib - إنشاء وحدات Perl جديدة وإيجاد الوحدات الموجودة
التعابير المنطقية
بيرل - التعابير النمطية بيرل
perlfunc - وظائف Perl المدمجة>
بيرلوب - معاملات بيرل والأسبقية
perllocale - التعامل مع لغة Perl (التدويل والتعريب)
الانتقال إلى perl5
perltrap - بيرل الفخاخ للغافلين
بيرل
الارتباط بـ C
perlxstut - برنامج تعليمي لكتابة XSUBs
perlxs - الدليل المرجعي للغة XS
perlcall - اصطلاحات استدعاء لغة Perl من لغة C.
perlguts - مقدمة في Perl API
perlembed - كيفية تضمين perl في برنامج C الخاص بك
مختلف
<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz> (ليست صفحة رجل ولكنها لا تزال مفيدة ، أ
مجموعة من المقالات المختلفة حول تقنيات بيرل)

تم العثور على جدول محتويات خام لمجموعة Perl manpage في perltoc.

كيفية يمكن I تستخدم بيرل بشكل تفاعلي؟
يستخدم الأسلوب النموذجي مصحح أخطاء Perl ، الموضح في ملف com.perldebug(1) manpage ، على أ
برنامج "فارغ" مثل هذا:

بيرل دي 42

الآن فقط اكتب أي كود Perl قانوني ، وسيتم تقييمه على الفور. بامكانك ايضا
قم بفحص جدول الرموز ، احصل على مسارات خلفية مكدسة ، تحقق من القيم المتغيرة ، قم بتعيين نقاط التوقف ،
وغيرها من العمليات التي توجد عادة في مصححات الأخطاء الرمزية.

يمكنك أيضًا استخدام Devel :: REPL وهي صدفة تفاعلية لـ Perl ، والمعروفة باسم a
REPL - قراءة وتقييم وطباعة وتكرار. يوفر العديد من الميزات المفيدة.

كيفية do I جد التي نماذج . تثبيت on my النظام؟
من سطر الأوامر ، يمكنك استخدام مفتاح التبديل "-l" الخاص بأمر "cpan":

$ سيبان -l

يمكنك أيضًا استخدام مفتاح التبديل "-a" الخاص بـ "cpan" لإنشاء ملف تجميع تلقائي "CPAN.pm"
يفهم ويمكن استخدامه لإعادة تثبيت كل وحدة:

$ سيبان -أ

داخل برنامج Perl ، يمكنك استخدام الوحدة النمطية ExtUtils :: Installed لإظهار كل ما تم تثبيته
التوزيعات ، على الرغم من أن القيام بسحرها قد يستغرق بعض الوقت. المكتبة القياسية التي
تأتي مع Perl تظهر فقط كـ "Perl" (على الرغم من أنه يمكنك الحصول على تلك التي بها
الوحدة النمطية :: CoreList).

استخدام ExtUtils :: Installed ؛

my $ inst = ExtUtils :: Installed-> new ()؛
mymodules = $ inst-> modules () ؛

إذا كنت تريد قائمة بجميع أسماء ملفات وحدة Perl ، فيمكنك استخدام File :: Find :: Rule:

استخدم File :: Find :: Rule ؛

myfiles = File :: Find :: Rule->
إضافات ({تابع => 1}) ->
ملف () ->
الاسم ('* .pm') ->
في (INC)
;

إذا لم يكن لديك هذه الوحدة ، فيمكنك فعل الشيء نفسه باستخدام File :: Find الذي يعد جزءًا من
المكتبة القياسية:

استخدام ملف :: بحث ؛
ملفاتي؛

يجد(
{
مطلوب => فرعي {
pushfiles، $ File :: Find :: fullname
if -f $ File :: Find :: fullname && /\.pm$/
},
اتبع => 1 ،
Follow_skip => 2 ،
},
INC
);

طباعة الانضمام "\ n"، @ الملفات؛

إذا كنت تحتاج فقط إلى التحقق بسرعة لمعرفة ما إذا كانت الوحدة متاحة ، فيمكنك التحقق من وجودها
توثيق. إذا كان بإمكانك قراءة الوثائق ، فمن المرجح أن يتم تثبيت الوحدة. لو
لا يمكنك قراءة الوثائق ، قد لا تحتوي الوحدة النمطية على أي منها (في حالات نادرة):

وحدة $ perldoc :: الاسم

يمكنك أيضًا محاولة تضمين الوحدة في سطر واحد لمعرفة ما إذا كان perl قد وجدها:

$ perl -Module :: الاسم -e1

(إذا لم تتلقَ رسالة الخطأ "لا يمكن تحديد موقع ... فيINC" ، فعندئذٍ عثر Perl على ملف
اسم الوحدة التي طلبتها.)

كيفية do I تصحيح my بيرل البرامج؟
(ساهم بها بريان د فوي)

قبل أن تفعل أي شيء آخر ، يمكنك أن تساعد نفسك من خلال التأكد من السماح لـ Perl بإخبارك
حول مناطق المشاكل في التعليمات البرمجية الخاصة بك. من خلال تشغيل التحذيرات والقيود ، يمكنك الابتعاد
العديد من المشاكل قبل أن تصبح كبيرة جدًا. يمكنك معرفة المزيد عن هذه بشكل صارم و
التحذيرات.

#!/ البيرة / بن / بيرل
استخدام صارم
استخدام التحذيرات

علاوة على ذلك ، فإن أبسط مصحح أخطاء هو وظيفة "الطباعة". استخدمه للنظر إلى القيم على أنها
تقوم بتشغيل برنامجك:

print STDERR "القيمة [$ value] \ n" ؛

يمكن لوحدة Data :: Dumper طباعة هياكل بيانات Perl:

استخدام البيانات :: Dumper qw (Dumper) ؛
طباعة STDERR "التجزئة هي". شاحنة قلابة (\٪ تجزئة). "\ن"؛

تأتي لغة Perl مع مصحح أخطاء تفاعلي ، يمكنك البدء فيه باستخدام مفتاح "-d". إنه
شرح كامل في Perldebug.

إذا كنت ترغب في واجهة مستخدم رسومية ولديك Tk ، يمكنك استخدام "ptkdb". انها فوق
CPAN ومتاح مجانًا.

إذا كنت بحاجة إلى شيء أكثر تعقيدًا ويمكن التحكم فيه ، فإن Leon Brocard's Devel :: ebug
(الذي يمكنك الاتصال به باستخدام مفتاح "-D" باعتباره "-Debug") يمنحك الخطافات الآلية
في كل ما تحتاجه لتكتبه بنفسك (بدون الكثير من الألم والمعاناة).

يمكنك أيضًا استخدام مصحح أخطاء تجاري مثل Affrus (Mac OS X) و Komodo من Activestate
(Windows و Mac OS X) أو EPIC (معظم الأنظمة الأساسية).

كيفية do I البيانات الشخصية my بيرل البرامج؟
(ساهم بها بريان د فوي ، تم التحديث في الجمعة 25 تموز (يوليو) 12:22:26 بتوقيت المحيط الهادئ الصيفي 2008)

تحتوي مساحة الاسم "Devel" على العديد من الوحدات النمطية التي يمكنك استخدامها لتوصيف برامج Perl الخاصة بك.

يقوم Devel :: NYTProf (New York Times Profiler) بعمل التنميط الجزئي والروتيني.
إنه متاح من CPAN ويمكنك أيضًا استدعائه باستخدام مفتاح التبديل "-d":

perl -d: NYTProf some_perl.pl

يقوم بإنشاء قاعدة بيانات لمعلومات الملف الشخصي التي يمكنك تحويلها إلى تقارير. ال
يحول الأمر "nytprofhtml" البيانات إلى تقرير HTML مشابه لـ Devel :: Cover
تقرير:

nytprofhtml

قد تكون مهتمًا أيضًا باستخدام Benchmark لقياس ومقارنة مقتطفات التعليمات البرمجية.

يمكنك قراءة المزيد عن التنميط في برمجة وتطوير بيرل، الفصل 20 ، أو اتقان بيرل,
الفصل 5.

يقوم perldebguts بإنشاء مصحح أخطاء مخصص إذا كنت بحاجة إلى إنشاء نوع خاص من ملفات
المحلل. يصف بريان د فوي العملية في ال بيرل مجلة، "إنشاء لغة Perl
المصحح "،http://www.ddj.com/184404522> ، و "إنشاء ملفات تعريف في Perl"
<http://www.ddj.com/184404580>.

يحتوي موقع Perl.com على مقالتين شيقتين حول التنميط: "Profiling Perl" بقلم Simon Cozens ،
<http://www.perl.com/lpt/a/850> و "تصحيح وتوصيف تطبيقات mod_perl" ، بواسطة
فرانك وايلزhttp://www.perl.com/pub/a/2006/02/09/debug_mod_perl.html>.

راندال ل. شوارتز يكتب عن التنميط في "تسريع برامج بيرل الخاصة بك" من أجل يونكس
التقييم،http://www.stonehenge.com/merlyn/UnixReview/col49.html> ، و "التنميط في
مجموعة أدوات النموذج عبر التجاوز "لـ لينكس مدونة,
<http://www.stonehenge.com/merlyn/LinuxMag/col75.html>.

كيفية do I إشارة الصليب my بيرل البرامج؟
يمكن استخدام الوحدة النمطية B :: Xref لإنشاء تقارير الإسناد الترافقي لبرامج Perl.

perl -MO = Xref [، OPTIONS] scriptname.plx

Is هناك a طابعة جميلة (منسق) لـ بيرل؟
يأتي Perl :: Tidy مع نص بيرل perltidy يقوم بتأخير نصوص Perl وإعادة تنسيقها إلى
اجعلها أسهل في القراءة بمحاولة اتباع قواعد perlstyle. إذا كنت تكتب
Perl ، أو تقضي الكثير من الوقت في قراءة Perl ، فربما تجدها مفيدة.

بالطبع ، إذا اتبعت الإرشادات في perlstyle ، فلن تحتاج إلى ذلك
إعادة تنسيق. ستساعد عادة تنسيق التعليمات البرمجية أثناء كتابتها على منع الأخطاء. لك
المحرر يمكنه ويجب أن يساعدك في ذلك. يمكن وضع perl أو وضع cperl الأحدث لـ emacs
تقديم قدر كبير من المساعدة مع معظم (وليس كل) التعليمات البرمجية ، وحتى أقل من ذلك
يمكن للمحررين المبرمجين تقديم مساعدة كبيرة. توم كريستيانسن والعديد من الآخرين
أقسم مستخدمو VI بالإعدادات التالية في vi ونسخه:

ضع ai sw = 4
خريطة! ^ يا {^ M} ^ [O ^ T

ضع ذلك في ملف .exrc ملف (استبدال أحرف الإقحام بأحرف تحكم) و
تذهب بعيدا. في وضع الإدراج ، يستخدم ^ T للمسافة البادئة ، و ^ D للتراجع ، و ^ O لـ
blockdenting - كما كانت. يمكن العثور على مثال أكثر اكتمالاً ، مع التعليقات ، على
<http://www.cpan.org/authors/id/TOMC/scripts/toms.exrc.gz>

Is هناك an IDE or ويندوز بيرل محرر؟
برامج Perl هي مجرد نص عادي ، لذلك سيفعل أي محرر.

إذا كنت تستخدم Unix ، فلديك بالفعل IDE - Unix نفسه. فلسفة Unix هي
فلسفة العديد من الأدوات الصغيرة التي تؤدي كل منها شيئًا واحدًا وتقوم به بشكل جيد. إنها مثل أ
صندوق أدوات النجار.

إذا كنت تريد IDE ، فتحقق مما يلي (بالترتيب الأبجدي ، وليس بترتيب التفضيل):

كسوف
<http://e-p-i-c.sf.net/>

يدمج مشروع Eclipse Perl Integration تحرير / تصحيح Perl مع Eclipse.

إنجينسايت
<http://www.enginsite.com/>

محرر Perl من EngInSite هو بيئة تطوير متكاملة (IDE) لـ
إنشاء واختبار وتصحيح البرامج النصية لـ Perl ؛ تعمل الأداة على Windows
9x / NT / 2000 / XP أو أحدث.

كفرا
<http://kephra.sf.net>

محرر واجهة المستخدم الرسومية مكتوب بلغة Perl باستخدام wxWidgets و Scintilla مع الكثير من الأدوات الأصغر
سمات. تهدف إلى واجهة مستخدم تستند إلى مبادئ Perl مثل TIMTOWTDI و "الأشياء السهلة
يجب أن تكون سهلة ، يجب أن تكون الأمور الصعبة ممكنة ".

كومودو
<http://www.ActiveState.com/Products/Komodo/>

النظام الأساسي المشترك لـ ActiveState (اعتبارًا من أكتوبر 2004 ، هذا هو Windows و Linux و Solaris) ،
IDE متعدد اللغات لديه دعم Perl ، بما في ذلك مصحح أخطاء التعبير العادي و
التصحيح عن بعد.

المفكرة + +
<http://notepad-plus.sourceforge.net/>

افتح Perl IDE
<http://open-perl-ide.sourceforge.net/>

Open Perl IDE هو بيئة تطوير متكاملة للكتابة وتصحيح أخطاء Perl
البرامج النصية مع توزيع ActiveState's ActivePerl ضمن Windows 95/98 / NT / 2000.

أوبتيبيرل
<http://www.optiperl.com/>

OptiPerl هو Windows IDE مع بيئة CGI محاكاة ، بما في ذلك مصحح الأخطاء و
محرر تمييز بناء الجملة.

الآب
<http://padre.perlide.org/>

Padre هو IDE متعدد المنصات لـ Perl مكتوب بلغة Perl باستخدام wxWidgets لتوفير ملف
الشكل والمظهر الأصلي. إنه مفتوح المصدر بموجب الترخيص الفني. انه واحد من
أحدث Perl IDEs.

بيرل بيلدر
<http://www.solutionsoft.com/perl.htm>

PerlBuilder هي بيئة تطوير متكاملة لنظام Windows تدعم لغة Perl
التنمية.

visiPerl +
<http://helpconsulting.net/visiperl/index.html>

من Help Consulting ، لنظام Windows.

البصرية بيرل
<http://www.activestate.com/Products/Visual_Perl/>

Visual Perl هو مكون إضافي لبرنامج Visual Studio.NET من ActiveState.

زيوس
<http://www.zeusedit.com/lookmain.html>

Zeus for Windows هو محرر / IDE متعدد اللغات آخر لـ Win32 يأتي مع الدعم
لبيرل.

للمحررين: إذا كنت تستخدم Unix ، فمن المحتمل أن يكون لديك نسخة vi أو vi بالفعل ، وربما ملف
emacs أيضًا ، لذلك قد لا تحتاج إلى تنزيل أي شيء. في أي emacs ، يكون وضع cperl (Mx
cperl-mode) ربما يمنحك أفضل وضع متاح لتحرير Perl في أي محرر.

إذا كنت تستخدم Windows ، فيمكنك استخدام أي محرر يتيح لك العمل مع نص عادي ، مثل
مثل المفكرة أو الدفتر. عادةً ما تكون معالجات النصوص ، مثل Microsoft Word أو WordPerfect
لا تعمل لأنها تدخل جميع أنواع المعلومات من وراء الكواليس ، على الرغم من أن بعضها
تسمح لك بحفظ الملفات كـ "نص فقط". يمكنك أيضًا تنزيل برامج تحرير النصوص المصممة
خصيصًا للبرمجة ، مثل Textpad (http://www.textpad.com/>) و UltraEdit
(http://www.ultraedit.com/>) ، من بين أمور أخرى.

إذا كنت تستخدم نظام MacOS ، فستنطبق نفس المخاوف. يأتي MacPerl (للبيئات الكلاسيكية)
باستخدام محرر بسيط. أشهر المحررين الخارجيين هم BBEdit (
<http://www.barebones.com/products/bbedit/>) أو Alpha (
<http://www.his.com/~jguyer/Alpha/Alpha8.html>). يمكن لمستخدمي MacOS X استخدام محررات Unix كملفات
حسن.

جنو ايماكس
<http://www.gnu.org/software/emacs/windows/ntemacs.html>

ميكروإيماكس
<http://www.microemacs.de/>

إكس إيماكس
<http://www.xemacs.org/Download/index.html>

جيدhttp://space.mit.edu/~davis/jed/>

أو استنساخ السادس مثل

همةhttp://www.vim.org/>

حقير
<http://dickey.his.com/vile/vile.html>

فيما يلي محرر Win32 متعدد اللغات / IDEs الذي يدعم Perl:

متعدد التحرير
<http://www.MultiEdit.com/>

سليك إديت
<http://www.slickedit.com/>

سياق
<http://www.contexteditor.org/>

هناك أيضًا محرر نصي يعتمد على أداة Toyedit Text ومكتوب بلغة Perl ويتم توزيعه معه
وحدة المعارف التقليدية على CPAN. ال ptkdb (http://ptkdb.sourceforge.net/>) هو مستند إلى Perl / Tk
المصحح الذي يعمل كبيئة تطوير من نوع ما. مؤلف Perl (
<http://perlcomposer.sourceforge.net/>) هو IDE لإنشاء Perl / Tk GUI.

بالإضافة إلى المحرر / IDE ، قد تكون مهتمًا ببيئة shell أكثر قوة
لـ Win32. تشمل خياراتك

سحق
من حزمة Cygwin (http://cygwin.com/>)

zshhttp://www.zsh.org/>

Cygwin مشمول برخصة GNU العامة (لكن هذا لا يجب أن يكون مهمًا ل Perl
يستخدم). يحتوي Cygwin (بالإضافة إلى الغلاف) على مجموعة شاملة من نظام Unix القياسي
الأدوات المساعدة.

BBEdit و TextWrangler
هي برامج تحرير نصوص لنظام التشغيل OS X بها وضع حساسية Perl (
<http://www.barebones.com/>).

في يمكن I دولار فقط واحصل على خصم XNUMX% على جميع بيرل وحدات الماكرو لـ السادس؟
للحصول على نسخة كاملة من ملف التكوين السادس الخاص بتوم كريستيانسن ، راجع
<http://www.cpan.org/authors/Tom_Christiansen/scripts/toms.exrc.gz> ، المعيار
ملف مرجعي لمحاكيات vi. يعمل الملف بشكل أفضل مع nvi ، الإصدار الحالي من vi
من بيركلي ، والتي يمكن أن تُبنى بالمصادفة مع مترجم بيرل مضمن - انظر
<http://www.cpan.org/src/misc/>.

في يمكن I دولار فقط واحصل على خصم XNUMX% على جميع وضع بيرل or وضع cperl لـ إيماكس؟
منذ الإصدار 19 من التصحيح 22 من Emacs ، كان هناك كل من perl-mode.el و
دعم مصحح أخطاء Perl المدمج. يجب أن يأتي هذا مع معيار Emacs 19
التوزيع.

لاحظ أن وضع perl في emac يتناسب مع "main'foo" (اقتباس فردي) ، بينما يتناسب
حتى المسافة البادئة وتسليط الضوء. من المحتمل أنك تستخدم "main :: foo" في كود Perl الجديد
على أي حال ، لذلك لا ينبغي أن تكون هذه مشكلة.

بالنسبة إلى CPerlMode ، انظرhttp://www.emacswiki.org/cgi-bin/wiki/CPerlMode>

كيفية يمكن I تستخدم الشتائم مع بيرل؟
توفر وحدة Curses من CPAN واجهة وحدة كائن قابلة للتحميل ديناميكيًا إلى ملف
مكتبة اللعنات. يمكن العثور على عرض توضيحي صغير في الدليل
<http://www.cpan.org/authors/Tom_Christiansen/scripts/rep.gz> ؛ هذا البرنامج يكرر أ
الأمر وتحديث الشاشة حسب الحاجة ، مما يجعله ممثل ps اكسو على غرار تيشرت.

كيفية يمكن I اكتب a GUI (X ، Tk ، Gtk ، الخ.) in بيرل؟
(ساهم بها بن مورو)

هناك عدد من الوحدات النمطية التي تتيح لك كتابة واجهات المستخدم الرسومية في Perl. تحتوي معظم مجموعات أدوات واجهة المستخدم الرسومية على ملف
واجهة بيرل: تتبع قائمة غير كاملة.

Tk يعمل هذا تحت نظامي Unix و Windows ، والإصدار الحالي لا يبدو نصف سيئ
تحت Windows كما اعتاد. لا تزال بعض عناصر واجهة المستخدم "غير" على ما يرام ،
رغم ذلك. الواجهة طبيعية جدًا و "أنيقة" ، مما يجعلها سهلة الاستخدام على نطاق صغير
البرامج النصية التي تحتاج فقط إلى واجهة مستخدم بسيطة. لم يتم تحديثه منذ فترة.

Wx هذا هو ارتباط Perl لمجموعة أدوات wxWidgets عبر الأنظمة الأساسية (
<http://www.wxwidgets.org>). إنه يعمل تحت أنظمة Unix و Win32 و Mac OS X ، باستخدام أصلي
الحاجيات (Gtk تحت Unix). تتبع الواجهة واجهة C ++ بشكل وثيق ، ولكن
التوثيق ضئيل قليلاً بالنسبة لشخص لا يعرف المكتبة ، في الغالب فقط
إحالتك إلى وثائق C ++.

Gtk و Gtk2
هذه هي روابط Perl لمجموعة أدوات Gtk (http://www.gtk.org>). الواجهة
تغيرت بشكل ملحوظ بين الإصدارين 1 و 2 بحيث يكون لديهم وحدات Perl منفصلة. هو - هي
يعمل تحت Unix و Win32 و Mac OS X (حاليًا يتطلب خادم X على نظام التشغيل Mac OS ، ولكن
منفذ "أصلي" قيد التنفيذ) ، وتبدو الأدوات كما هي على كل نظام أساسي: على سبيل المثال ،
لا تتطابق مع الحاجيات الأصلية. كما هو الحال مع Wx ، تتبع ارتباطات Perl واجهة برمجة تطبيقات C
عن كثب ، وتتطلب الوثائق منك قراءة وثائق C لفهمها
هنا.

Win32 :: GUI
يوفر هذا الوصول إلى معظم عناصر واجهة المستخدم الرسومية Win32 من Perl. من الواضح أنها فقط
يعمل تحت Win32 ، ويستخدم الحاجيات الأصلية. لا تتبع واجهة Perl حقًا
واجهة C: لقد تم جعلها أكثر دقة ، والتوثيق جيد جدًا.
قد تتطلب العناصر الأكثر تقدمًا الإلمام بواجهات برمجة تطبيقات C Win32 أو الرجوع إليها
MSDN.

عظام الجمل
عظام الجمل (http://camelbones.sourceforge.net>) هي واجهة Perl لنظام التشغيل Mac OS X.
مجموعة أدوات Cocoa GUI ، وعلى هذا النحو يمكن استخدامها لإنتاج واجهات رسومية أصلية على نظام التشغيل Mac OS X. إنها
ليس على CPAN ، لأنه يتطلب أطر عمل لا يعرف CPAN.pm كيفية تثبيتها ، ولكن
يتم التثبيت عبر مثبت حزمة OSX القياسي. إن واجهة برمجة تطبيقات Perl ، مرة أخرى ، شديدة الأهمية
بالقرب من ObjC API يتم تغليفه ، وتخبرك الوثائق فقط بكيفية ذلك
ترجمة من واحد إلى الآخر.

Qt هناك واجهة Perl لمجموعة أدوات Qt الخاصة بـ TrollTech ، ولكن لا يبدو أنها كذلك
حافظ.

أثينا
Sx عبارة عن واجهة لمجموعة أدوات Athena التي تأتي مع X ، ولكنها تظهر مرة أخرى
لا تستخدم كثيرا في الوقت الحاضر.

كيفية يمكن I جعل my بيرل برنامج يجري بسرعة؟
أفضل طريقة للقيام بذلك هي التوصل إلى خوارزمية أفضل. يمكن أن يؤدي هذا غالبًا إلى إنشاء ملف
فرق كبير. كتاب جون بنتلي برمجة وتطوير التشوكر (هذا ليس خطأ إملائيًا!)
لديه بعض النصائح الجيدة حول التحسين أيضًا. تتلخص النصائح حول المقارنة المعيارية في:
والملف الشخصي للتأكد من تحسين الجزء الصحيح ، ابحث عن خوارزميات أفضل
بدلاً من الضبط الدقيق لشفرتك ، وعندما يفشل كل شيء آخر ، فكر في الشراء بشكل أسرع
المعدات. ربما ترغب في قراءة إجابة السؤال السابق "كيف يمكنني ذلك
ملف تعريف برامج Perl الخاصة بي؟ "إذا لم تكن قد قمت بذلك بالفعل.

هناك طريقة مختلفة وهي التحميل التلقائي لرمز Perl نادر الاستخدام. انظر AutoSplit و
وحدات AutoLoader في التوزيع القياسي لذلك. أو يمكنك تحديد موقع
عنق الزجاجة وفكر في كتابة ذلك الجزء فقط في C ، بالطريقة التي اعتدنا أن نتخذها
الاختناقات في كود C وكتابتها في المجمع. على غرار إعادة الكتابة في C ، فإن الوحدات النمطية التي
لديك أقسام حرجة يمكن كتابتها في C (على سبيل المثال ، وحدة PDL من CPAN).

إذا كنت تقوم حاليًا بربط ملف perl القابل للتنفيذ بملف libc.so، يمكنك غالبًا الحصول على ملف
10-25٪ يستفيدون من الأداء من خلال إعادة بنائه لربطه بمكتب libc.a ثابت بدلاً من ذلك. هذا
ستجعل perl قابلاً للتنفيذ أكبر ، لكن برامج Perl (والمبرمجين) قد تشكركم
لذلك. انظر تثبيت ملف في توزيع المصدر لمزيد من المعلومات.

كان برنامج undump محاولة قديمة لتسريع برنامج Perl من خلال تخزين-
شكل المترجمة إلى القرص. لم يعد هذا خيارًا قابلاً للتطبيق ، حيث نجح فقط في عدد قليل
لم يكن حلاً جيدًا على أي حال.

كيفية يمكن I جعل my بيرل برنامج أخذ أقل ذاكرة؟
عندما يتعلق الأمر بالمقايضات بين الزمان والمكان ، فإن Perl دائمًا ما تفضل إلقاء الذاكرة في نطاق
مشكلة. تستخدم Scalars في لغة Perl ذاكرة أكثر من السلاسل في لغة C ، وتستغرق المصفوفات أكثر من ذلك ،
والتجزئة تستخدم أكثر من ذلك. بينما لا يزال هناك الكثير الذي يتعين القيام به ، إلا أن الإصدارات الأخيرة كانت كذلك
معالجة هذه القضايا. على سبيل المثال ، اعتبارًا من 5.004 ، تتم مشاركة مفاتيح التجزئة المكررة بين ملفات
كل التجزئة التي تستخدمها ، لذلك لا تتطلب إعادة تخصيص.

في بعض الحالات ، باستخدام substr () or فيك () لمحاكاة المصفوفات يمكن أن يكون مفيدًا للغاية. ل
على سبيل المثال ، سوف تأخذ مجموعة من ألف قيمة منطقية ما لا يقل عن 20,000 بايت من المساحة ، لكنها
يمكن تحويلها إلى متجه واحد بحجم 125 بايت - توفير كبير في الذاكرة. المعيار
يمكن أن تساعد الوحدة النمطية Tie :: SubstrHash أيضًا في أنواع معينة من بنية البيانات. إذا كنت
العمل مع هياكل البيانات المتخصصة (المصفوفات ، على سبيل المثال) الوحدات النمطية التي تنفذ
قد تستخدم هذه الموجودة في لغة C ذاكرة أقل من وحدات Perl النمطية المكافئة.

شيء آخر يجب تجربته هو معرفة ما إذا كانت لغة Perl قد تم تجميعها باستخدام نظام malloc أم
مع malloc المدمج في بيرل. أيهما ، حاول استخدام الآخر ومعرفة ما إذا كان
هذا يحدث فرقا. المعلومات حول malloc موجودة في ملف تثبيت ملف في المصدر
توزيع. يمكنك معرفة ما إذا كنت تستخدم perl's malloc بكتابة "perl
-V: usemymalloc ".

بالطبع ، أفضل طريقة لحفظ الذاكرة هي عدم فعل أي شيء يضيعها في البداية
مكان. يمكن لممارسات البرمجة الجيدة أن تقطع شوطًا طويلاً نحو هذا:

لا تسرف!
لا تقرأ ملفًا كاملاً في الذاكرة إذا كان بإمكانك معالجته سطرًا بسطر. او اكثر
بشكل ملموس ، استخدم حلقة مثل هذه:

#
# فكره جيده
#
بينما (خطي $ = <$ file_handle>) {
#...
}

بدلا من هذا:

#
# فكرة سيئة
#
mydata = <$ file_handle> ؛
foreach (data) {
#...
}

عندما تكون الملفات التي تقوم بمعالجتها صغيرة ، لا يهم كثيرًا الطريقة التي تعمل بها
لكنها تحدث فرقًا كبيرًا عندما تبدأ في التكاثر.

استخدم الخريطة و grep بشكل انتقائي
تذكر أن كل من map و grep يتوقعان وسيطة LIST ، لذا افعل هذا:

wanted = grep {/ pattern /} <$ file_handle>؛

سوف يتسبب في تشويش الملف بأكمله. بالنسبة للملفات الكبيرة ، من الأفضل تكرار ما يلي:

بينما (<$ file_handle>) {
دفع (مطلوب ، $ _) إذا / نمط / ؛
}

تجنب الاقتباسات غير الضرورية والتشديد
لا تقتبس سلاسل كبيرة ما لم يكن ذلك ضروريًا للغاية:

نسختي $ = "$ large_string" ؛

يقوم بعمل نسختين من $ large_string (واحدة لنسخ $ والأخرى لعروض الأسعار) ، بينما

نسختي $ = $ large_string ؛

يقوم بعمل نسخة واحدة فقط.

كما سبق لترتيب المصفوفات الكبيرة:

{
دولار محلي ، = "\ n"؛
طباعةbig_array ؛
}

أكثر كفاءة في استخدام الذاكرة من أي منهما

طباعة الانضمام "\ n"،big_array؛

or

{
$ المحلي "=" \ n "؛
طباعة "big_array" ؛
}

تمر بالإشارة
قم بتمرير المصفوفات والتجزئة بالإشارة ، وليس بالقيمة. لسبب واحد ، إنها الطريقة الوحيدة
تمرير قوائم متعددة أو تجزئات (أو كليهما) في مكالمة / عودة واحدة. كما أنه يتجنب
إنشاء نسخة من جميع المحتويات. هذا يتطلب بعض الحكم ، ومع ذلك ، لأنه
سيتم إعادة نشر أي تغييرات على البيانات الأصلية. إذا كنت تريد حقا أن تشوه
(تعديل) نسخة ، سيكون عليك التضحية بالذاكرة اللازمة لعمل واحدة.

ربط المتغيرات الكبيرة بالقرص
بالنسبة لمخازن البيانات "الكبيرة" (أي تلك التي تتجاوز الذاكرة المتاحة) ، فكر في استخدام أحد
وحدات DB لتخزينها على القرص بدلاً من ذاكرة الوصول العشوائي. هذا سوف يتحمل عقوبة في
وقت الوصول ، ولكن ربما يكون هذا أفضل من التسبب في تعطل القرص الثابت بسبب
مقايضة ضخمة.

Is it خزنة إلى عائد أعلى a مرجع إلى محلي or معجمي البيانات؟
نعم. يعتني نظام جمع القمامة في Perl بهذا الأمر حتى يعمل كل شيء بشكل صحيح.

المكياج الفرعي {
mya = (1 .. 10) ؛
عودة \ @ أ ؛
}

لـ (1 .. 10) {
pushmany، makeone ()؛
}

طباعة $ many [4] [5]، "\ n"؛

طباعة "many \ n"؛

كيفية يمكن I مجاني an مجموعة or مزيج so my برنامج يتقلص؟
(ساهم بها مايكل كارمان)

عادة لا يمكنك ذلك. الذاكرة المخصصة للمفردات (أي لي() المتغيرات) لا يمكن استعادتها
أو إعادة استخدامها حتى إذا خرجت عن النطاق. يتم حجزه في حالة عودة المتغيرات
في النطاق. يمكن إعادة استخدام الذاكرة المخصصة للمتغيرات العالمية (داخل برنامجك) بواسطة
استخدام أونديف () و / أو حذف ().

في معظم أنظمة التشغيل ، لا يمكن أبدًا إرجاع الذاكرة المخصصة لبرنامج ما إلى
نظام. هذا هو السبب في أن البرامج طويلة الأمد تعيد تنفيذ نفسها في بعض الأحيان. بعض العمليات
الأنظمة (خاصة الأنظمة التي تستخدم mmap(2) لتخصيص أجزاء كبيرة من الذاكرة) يمكن
استعادة الذاكرة التي لم تعد مستخدمة ، ولكن في مثل هذه الأنظمة ، يجب تكوين perl و
تم تجميعها لاستخدام malloc الخاص بنظام التشغيل ، وليس perl's.

بشكل عام ، تخصيص الذاكرة وإلغاء تخصيصها ليس شيئًا يمكنك أو يجب أن تكونه
القلق بشأن الكثير في بيرل.

راجع أيضًا "كيف يمكنني جعل برنامج Perl الخاص بي يأخذ ذاكرة أقل؟"

كيفية يمكن I جعل my CGI سيناريو الأكثر من ذلك فعال؟
أبعد من الإجراءات العادية الموصوفة لجعل برامج Perl العامة أسرع أو أصغر ، أ
يحتوي برنامج CGI على مشكلات إضافية. يمكن تشغيله عدة مرات في الثانية. بالنظر إلى أن كل
وقت تشغيلها ، ستحتاج إلى إعادة تجميعها وستخصص غالبًا ميغا بايت أو أكثر من
ذاكرة النظام ، يمكن أن تكون قاتلة. تجميع في C. ليس الذهاب إلى مساعدة لصحتك! لأن
عملية بدء التشغيل العامة حيث توجد عنق الزجاجة.

هناك ثلاث طرق شائعة لتجنب هذا الحمل. يتضمن أحد الحلول تشغيل
خادم Apache HTTP (متاح منhttp://www.apache.org/>) مع أي من mod_perl
أو الوحدات النمطية mod_fastcgi plugin.

مع mod_perl ووحدة Apache :: Registry (الموزعة مع mod_perl) ، سيتم تشغيل httpd
باستخدام مترجم Perl مضمن يقوم بتجميع البرنامج النصي مسبقًا ثم تنفيذه
في نفس مساحة العنوان دون تفرع. يمنح امتداد Apache أيضًا وصول Perl
إلى خادم API الداخلي ، لذا يمكن للوحدات المكتوبة بلغة Perl أن تفعل أي شيء تقريبًا
مكتوب في C can. لمعرفة المزيد عن mod_perl ، انظرhttp://perl.apache.org/>

مع وحدة FCGI (من CPAN) ووحدة mod_fastcgi (متوفرة من
<http://www.fastcgi.com/>) يصبح كل برنامج من برامج Perl خفيًا دائمًا لـ CGI
.

أخيرًا ، يعد Plack وحدة Perl ومجموعة أدوات تحتوي على برمجيات وسيطة PSGI ومساعدين و
محولات لخوادم الويب ، مما يتيح لك بسهولة نشر البرامج النصية التي يمكن أن تستمر في العمل ،
ويوفر المرونة فيما يتعلق بخادم الويب الذي تستخدمه. يمكن أن تسمح الموجودة
نصوص CGI للاستمتاع بهذه المرونة والأداء مع الحد الأدنى من التغييرات ، أو يمكن استخدامها
جنبًا إلى جنب مع أطر ويب Perl الحديثة لعمل كتابة ونشر خدمات الويب باستخدام Perl
نسيم.

يمكن أن يكون لهذه الحلول تأثيرات بعيدة المدى على نظامك وعلى الطريقة التي تكتب بها
برامج CGI ، لذا تحقق منها بعناية.

أنظر أيضاhttp://www.cpan.org/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/>.

كيفية يمكن I إخفاء القادم مصدر لـ my بيرل البرنامج؟
احذفه. :-) بجدية ، هناك عدد من الحلول (معظمها غير مرضية) مع
مستويات متفاوتة من "الأمن".

بادئ ذي بدء ، ومع ذلك ، أنت لا يمكن إزالة إذن القراءة ، لأن شفرة المصدر يجب أن
يمكن قراءتها حتى يتم تجميعها وتفسيرها. (هذا لا يعني أن CGI
يمكن قراءة مصدر النص البرمجي بواسطة الأشخاص على الويب ، على الرغم من ذلك - فقط بواسطة الأشخاص الذين لديهم إمكانية الوصول إلى ملفات
نظام الملفات.) لذلك عليك ترك الأذونات على 0755 الصديق اجتماعيًا
.

بعض الناس يعتبرون هذا مشكلة أمنية. إذا كان برنامجك يقوم بأشياء غير آمنة و
يعتمد على أشخاص لا يعرفون كيف يستغلون تلك المخاوف ، فهو غير آمن. إنها
غالبًا ما يكون من الممكن لشخص ما تحديد الأشياء غير الآمنة واستغلالها بدونها
عرض المصدر. الأمن من خلال الغموض ، وهو الاسم لإخفاء الأخطاء الخاصة بك بدلاً من
إصلاحها ، هو القليل من الأمن بالفعل.

يمكنك محاولة استخدام التشفير عبر مرشحات المصدر (بدءًا من Perl 5.8 ، يكون Filter :: Simple
و Filter :: Util :: Call Modules مدرجة في التوزيع القياسي) ، ولكن أي لائقة
سيكون المبرمج قادرًا على فك تشفيره. يمكنك محاولة استخدام مترجم كود البايت و
المترجم الموصوف لاحقًا في perlfaq3 ، لكن الغريب قد يظل قادرًا على فك الترجمة
هو - هي. يمكنك تجربة استخدام مترجم الكود الأصلي الموضح لاحقًا ، ولكن قد تتمكن المفرقعات من ذلك
لتفكيكها. هذه تشكل درجات متفاوتة من الصعوبة للأشخاص الذين يريدون الوصول إليها
الكود الخاص بك ، لكن لا أحد يستطيع إخفاءه نهائيًا (ينطبق على كل لغة ، وليس فقط لغة Perl).

من السهل جدًا استعادة مصدر برامج Perl. يمكنك ببساطة إطعام البرنامج إلى ملف
مترجم بيرل واستخدام الوحدات النمطية في التسلسل الهرمي B ::. يجب أن تكون الوحدة النمطية B :: Deparse
قادر على هزيمة معظم محاولات إخفاء المصدر. مرة أخرى ، هذا ليس فريدًا بالنسبة لـ Perl.

إذا كنت قلقًا بشأن استفادة الأشخاص من شفرتك ، فإن المحصلة النهائية هي ذلك
لا شيء سوى الترخيص المقيد يمنحك الضمان القانوني. ترخيص البرامج الخاصة بك و
امتلئها بعبارات تهديد مثل "هذا برنامج مملوك وغير منشور لـ
شركة XYZ Corp. وصولك إليها لا يمنحك الإذن باستخدامها بلاه بلاه بلاه "
ليسوا محامين ، بالطبع ، لذلك يجب أن تقابل محاميًا إذا كنت تريد أن تتأكد من أن
صيغة الترخيص ستقف في المحكمة.

كيفية يمكن I جمع my بيرل برنامج إلى بايت الكود or C?
(ساهم بها بريان د فوي)

بشكل عام ، لا يمكنك القيام بذلك. هناك بعض الأشياء التي قد تعمل في حالتك
رغم ذلك. يسأل الناس هذا السؤال عادةً لأنهم يريدون توزيع أعمالهم
دون التخلي عن الكود المصدري ، وتتبادل معظم الحلول مساحة القرص من أجل الراحة.
ربما لن ترى زيادة كبيرة في السرعة أيضًا ، نظرًا لأن معظم الحلول يتم تجميعها ببساطة
مترجم Perl في المنتج النهائي (لكن انظر "كيف يمكنني تشغيل برنامج Perl الخاص بي
أسرع؟").

مجموعة أدوات أرشيف Perl (http://par.perl.org/>) هي نظير Perl لـ JAR في Java. إنه
متاح مجانًا وعلى CPAN (http://search.cpan.org/dist/PAR/>).

هناك أيضًا بعض المنتجات التجارية التي قد تعمل من أجلك ، على الرغم من أنه يتعين عليك شراء
ترخيص لهم.

طقم Perl Dev (http://www.activestate.com/Products/Perl_Dev_Kit/>) من ActiveState
يمكن "تحويل برامج Perl إلى ملفات تنفيذية جاهزة للتشغيل لـ HP-UX و Linux و Solaris و
شبابيك."

Perl2Exe (http://www.indigostar.com/perl2exe.htm>) هو برنامج سطر أوامر لـ
تحويل البرامج النصية perl إلى ملفات قابلة للتنفيذ. يستهدف كلاً من أنظمة Windows و Unix.

كيفية يمكن I دولار فقط واحصل على خصم XNUMX% على جميع "#! perl" إلى العمل on [MS-DOS ، NT ، ...]؟
لنظام التشغيل / 2 استخدم فقط

extproc perl -S-your_switches

كسطر أول في ملف "* .cmd" ("-S" بسبب خطأ في معالجة "extproc" لـ cmd.exe). ل
يجب على DOS أولاً أن يخترع ملف دفعي مطابق ويصنفه بتنسيق
"ALTERNATE_SHEBANG" (راجع ملف جرعة ملف في توزيع المصدر للمزيد
معلومات).

تثبيت Win95 / NT ، عند استخدام منفذ ActiveState في Perl ، سيعدل
التسجيل لربط الامتداد ".pl" بمترجم بيرل. إذا قمت بتثبيت
منفذ آخر ، ربما حتى بناء Win95 / NT Perl الخاص بك من المصادر القياسية بواسطة
باستخدام منفذ Windows من gcc (على سبيل المثال ، مع cygwin أو mingw32) ، فسيتعين عليك تعديل ملف
سجل نفسك. بالإضافة إلى ربط ".pl" بالمترجم ، يمكن للأشخاص NT
استخدم: "SET PATHEXT =٪ PATHEXT٪ ؛. PL" للسماح لهم بتشغيل البرنامج "install-linux.pl" فقط عن طريق
كتابة "install-linux".

ضمن نظام MacOS "الكلاسيكي" ، سيكون لبرنامج perl المُنشئ والنوع المناسبين ، لذلك
سيؤدي النقر المزدوج فوقها إلى استدعاء تطبيق MacPerl. ضمن نظام التشغيل Mac OS X ، تطبيقات قابلة للنقر
يمكن صنعه من أي "#!" البرنامج النصي باستخدام الأداة المساعدة دروب سكريبت Wil Sanchez:
<http://www.wsanchez.net/software/>.

هام!: مهما فعلت ، من فضلك لا تشعر بالإحباط ، ورمي فقط بيرل
مترجم فوري في دليل cgi-bin الخاص بك ، من أجل جعل برامجك تعمل على الويب
الخادم. هذا يمثل مخاطرة أمنية كبيرة للغاية. خذ الوقت الكافي لمعرفة كيفية القيام بذلك
بشكل صحيح.

يستطيع I اكتب مفيد بيرل برامج on القادم أمر خط؟
نعم. اقرأ perlrun لمزيد من المعلومات. بعض الأمثلة تتبع. (هذه تفترض أن نظام يونكس القياسي
قواعد اقتباس القشرة.)

# مجموع الحقول الأولى والأخيرة
perl -lane "print $ F [0] + $ F [-1] '*

# تحديد الملفات النصية
perl -le 'for (ARGV) {print if -f && -T _}' *

# إزالة (معظم) التعليقات من برنامج C
perl -0777 -pe 's {/\*.*؟\*/} {} gs' foo.c

# اجعل الملف أصغر من اليوم بشهر ، متغلبًا على شياطين الحاصد
perl -e '$ X = 24 * 60 * 60 ؛ utime (time () ، time () + 30 * $ X، @ ARGV) '*

# البحث عن أول uid غير مستخدم
perl -le '$ i ++ بينما getpwuid ($ i) ؛ طباعة $ i '

# عرض ممر معقول
صدى $ PATH | بيرل -nl -072 -e '
s! [^ / +] * $! man! && - d &&! $ s {$ _} ++ && push @ m، $ _؛ END {print "m"} '

حسنًا ، آخرها كان في الواقع إدخالًا مبهمًا في مسابقة Perl. :-)

لماذا لا بيرل واحد المتشددين العمل on my DOS / Mac / VMS النظام؟
تكمن المشكلة عادة في أن مترجمي الأوامر على تلك الأنظمة لديهم بالأحرى
أفكار مختلفة حول الاقتباس عن أغلفة يونكس التي كانت البطانة الواحدة تحتها
مخلوق. في بعض الأنظمة ، قد تضطر إلى تغيير علامات الاقتباس المفردة إلى علامات الاقتباس المزدوجة ، وهو ما تفعله أنت
يجب لا تفعل على أنظمة Unix أو Plan9. قد تضطر أيضًا إلى تغيير٪ واحد إلى ٪٪.

فمثلا:

# يونكس (بما في ذلك نظام التشغيل Mac OS X)
perl -e 'print "Hello world \ n" "

# DOS ، إلخ.
perl -e "print \" Hello world \ n \ ""

# ماك كلاسيك
طباعة "Hello world \ n"
(ثم ​​قم بتشغيل "Myscript" أو Shift-Command-R)

# ميجاوات
perl -e 'print "Hello world \ n" "

# نظام مراقبة الفيديو
perl -e "print" "Hello world \ n" ""

تكمن المشكلة في أنه لا يمكن الاعتماد على أي من هذه الأمثلة: فهي تعتمد على الأمر
مترجم. تحت يونكس ، يعمل الأولين غالبًا. تحت DOS ، من الممكن تمامًا ذلك
لا يعمل. إذا كان 4DOS هو قذيفة الأوامر ، فمن المحتمل أن يكون لديك حظ أفضل مثل هذا:

perl -e "طباعة "مرحبًا بالعالم \ n ""

تحت نظام التشغيل Mac ، يعتمد ذلك على البيئة التي تستخدمها. غلاف MacPerl ، أو MPW ، هو
يشبه إلى حد كبير أصداف Unix في دعمه للعديد من متغيرات الاقتباس ، باستثناء أنه يصنع
الاستخدام المجاني للأحرف غير ASCII الخاصة بـ Mac كأحرف تحكم.

باستخدام ف ف ()و q () و qx ()، بدلاً من "علامات الاقتباس المزدوجة" ، و "علامات الاقتباس المفردة" ، و "backticks" ،
قد تجعل الكتابة بخط واحد أسهل.

لا يوجد حل عام لكل هذا. انها فوضى.

[بعض هذه الإجابة ساهم بها كينيث ألبانوفسكي.]

في يمكن I تعلم عن الصابون CGI or شبكة البرمجة in بيرل؟
بالنسبة للوحدات النمطية ، احصل على وحدات CGI أو LWP من CPAN. للكتب المدرسية ، انظر الاثنين على وجه الخصوص
مخصصة لأشياء الويب في السؤال على الكتب. للمشاكل والأسئلة المتعلقة ب
الويب ، مثل "لماذا أحصل على 500 خطأ" أو "لماذا لا يتم تشغيله من المتصفح مباشرةً عند حدوثه
يعمل بشكل جيد في سطر الأوامر "، راجع أدلة استكشاف الأخطاء وإصلاحها والمراجع في perlfaq9
أو في CGI MetaFAQ:

L<http://www.perl.org/CGI_MetaFAQ.html>

يوصى بشدة بالاطلاع على Plack وأطر عمل ويب Perl الحديثة ؛ الويب
تطورت البرمجة بلغة Perl بشكل كبير منذ الأيام الخوالي لنصوص CGI البسيطة.

في يمكن I تعلم عن الصابون وجوه المنحى بيرل برمجة؟
مكان جيد للبدء هو perlootut ، ويمكنك استخدام perlobj كمرجع.

كتاب جيد عن OO على بيرل هو "Object-Oriented Perl" لداميان كونواي من مانينغ
المنشورات ، أو "وسيط بيرل" لراندال شوارتز وبريان دي فوي وتوم فينيكس من
أورايلي ميديا.

في يمكن I تعلم عن الصابون ربط C مع بيرل؟
إذا كنت تريد الاتصال بـ C من Perl ، فابدأ بـ perlxstut ، وانتقل إلى perlxs و xsubpp و
بيرلجوتس. إذا كنت تريد الاتصال بـ Perl من C ، فاقرأ perlembed و perlcall و perlguts.
لا تنس أنه يمكنك تعلم الكثير من خلال النظر في كيفية وجود المؤلفين
وحدات التمديد كتب التعليمات البرمجية الخاصة بهم وحل مشاكلهم.

قد لا تحتاج إلى كل قوة XS. تتيح لك الوحدة النمطية Inline :: C وضع رمز C مباشرةً
في مصدر Perl الخاص بك. إنه يتعامل مع كل السحر لجعله يعمل. لا يزال عليك التعلم في
على الأقل بعضًا من واجهة برمجة تطبيقات Perl ولكنك لن تضطر إلى التعامل مع تعقيد XS
دعم الملفات.

لقد قمت اقرأ بيرليمبيد ، بيرلجوتس ETC. لكن I لا يمكن تضمين بيرل in my C برنامج؛ ماذا am I فعل
الخطأ؟
قم بتنزيل مجموعة ExtUtils :: Embed من CPAN وقم بتشغيل "make test". إذا نجحت الاختبارات ، اقرأ
البودات مرارًا وتكرارًا. إذا فشلوا ، فراجع perlbug وأرسل تقرير خطأ مع
ناتج "make test TEST_VERBOSE = 1" مع "perl -V".

متى I حاول إلى يجري my النصي، I حصلت رسالة. ابحث عن هل it تعني؟
يمكن العثور على قائمة كاملة برسائل الخطأ والتحذيرات الخاصة بـ Perl مع النص التوضيحي
في بيردياج. يمكنك أيضًا استخدام برنامج splain (الموزع مع Perl) لشرح ملف
رسائل خاطئة:

برنامج perl 2> diag.out
سبلين [-v] [-p] diag.out

أو قم بتغيير برنامجك لشرح الرسائل لك:

استخدام التشخيص

or

استخدام التشخيص - الإفراط.

ما هو MakeMaker؟
(ساهم بها بريان د فوي)

وحدة ExtUtils :: MakeMaker ، والمعروفة باسم "MakeMaker" ، تحول نص Perl ،
تسمى عادةً "Makefile.PL" ، إلى Makefile. أداة Unix "make" تستخدم هذا الملف لـ
إدارة التبعيات والإجراءات لمعالجة وتثبيت توزيع Perl.

AUTHOR لأي لبس حقوق الطبع والنشر


حقوق النشر (c) 1997-2010 توم كريستيانسن وناثان توركينجتون ومؤلفون آخرون كما هو مذكور.
© جميع الحقوق محفوظة.

هذه الوثائق مجانية. يمكنك إعادة توزيعه و / أو تعديله بموجب نفس الشروط
مثل بيرل نفسها.

بغض النظر عن توزيعها ، فإن جميع أمثلة الكود هنا موجودة في المجال العام. أنت
يُسمح ويشجع على استخدام هذا الرمز وأي مشتقات منه في برامجك الخاصة
للمتعة أو للربح كما تراه مناسبًا. تعليق بسيط في الكود يعطي الفضل لـ
الأسئلة الشائعة ستكون مهذبة ولكنها ليست مطلوبة.

استخدم perlfaq3 عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad




×
الإعلانات
❤️تسوق أو احجز أو اشترِ هنا - بدون تكلفة، مما يساعد على إبقاء الخدمات مجانية.