النتائج 1 إلى 5 من 5

الموضوع: مبتدئ في البيرل ولدي أسئلة

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2000
    المشاركات
    2,029


    السلام عليكم...

    أرجوا ان تتحملوني على أسئلتي البسيطة، فأنا لا زلت في طور المبتدئ جداً

    1) هل هناك فرق بين امتداد cgi. وامتداد pl.؟ الذي أعرفه التشابه فيما بينهم في البرمجة بلغة البيرل فما الفارق بينهما؟

    2) أعلم أن هذا السؤال مكرر، أريد تحويل الحاسوب لدي كسيرفر، حقيقة حاولت مع وجود الدروس المختلفة لكنني فشلت، فهلا شرح أحدكم الدروس وبالصور وبشكل أبسط

    3) زرت موقع http://bignosebird.com وفيه وجدت درساً بسيطاً عن إنشاء أول برنامج بيرل، وقد نجحت في تطبيق الدرس والحمد لله وهذه شفرة البرنامج البسيطة جداً (لا تضحكون علي! )

    كود:
    #!/usr/bin/perl
    
    read(STDIN,$temp,$ENV{'CONTENT_LENGTH'});
    @pairs=split(/&/,$temp);
    foreach $item(@pairs)
     {
      ($key,$content)=split(/=/,$item,2);
      $content=~tr/+/ /;
      $content=~s/%(..)/pack("c",hex($1))/ge;
      $fields{$key}=$content;
     }
    print "Content-type: text/html\n\n"; 
    print "<HTML>\n";
    print "<BODY BGCOLOR=#FFFFFF>\n";
    print "<CENTER>\n";
    print "THANK YOU<BR>\n";
    print "$fields{fname} $fields{lname}</BR>";
    print "I will write<BR>\n";
    print "you at<BR>\n";
    print "$fields{email}<BR>\n";
    print "</CENTER>\n";
    print "</BODY></HTML>";
    السطر الأول من الشفرة مهم جداً، لكن لا أدري لماذا هو مهم؟ فأريد شرح لشفرة البرنامج وبالتفصيل الممل، فبدون شرح شفرة البرنامج لن أستطيع فهم البرمجة بهذه اللغة، فمن منكم يشرحها وله الأجر عند الله؟!

    الذي أعرفه أن أمر print كما لاحظت لإنشاء صفحة HTML تظهر النتيجة بعد انتهاء شفرة البرنامج. هذا فقط الذي تعلمته





    سردال غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Dec 1999
    المشاركات
    205

    بسم الله الرحمن الرحيم



    اخى
    1 الامتداد cgi يمكن البرمجة به بلغة البيرل او ال PHP او اى لغة برمجة اخرى اما الامتداد pl فهو مخصص لملفات البيرل فقط على حد علمى
    2
    3 كما تعرف ان برامج البيرل يجب ترجمتها اولا من قبل السيرفر ثم تنفيذها و السطر الاول
    كود:
     #!/usr/bin/perl
    يخبر نظام التشغيل مكان برنامج البيرل الذى سيقوم بترجمة و تنفيذ السكريبت
    ـــــــــــــــــــ
    اخى اعطنى مهلة انهى اختباراتى و انا اشرحلك السكريبت سطر سطر ان شاء الله اوكى ؟
    انتهى انشاء الله 18/1/2000
    و عيد سعيد اعاده الله علينا و على الامة الاسلامية بالخير و اليمن و البركات





    __________________
    I love every bode
    mohammedeg@crosswinds.net
    موقع Galaxy مغلق :(
    Superman غير متواجد حالياً

  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2000
    المشاركات
    2,029


    أشكرك من أعماق قلبي! أشكرك بعنف

    وسأنتظرك حتى ذلك الوقت والله يوفقك في الامتحانات ومبارك عليك العيد





    سردال غير متواجد حالياً



  4. أهلاً أخوي سردادر ... وهذه إجابتي أتمنى لك التوفيق
    لافرق بين cgi و pl و للعلم مترجم البيرل أصلاً لايطلب أي إمتداد لملف البيرل ولكن جرت العادة على pl و cgi و الله أعلم .
    السطر الأول : هو مهم لأنه يخبر برنامج البيرل عن مكان وجود مترجم البيرل .
    السطر الثاني : يقوم بقرائة المعلومات المرسلة إلى البرنامج عن طريق أسلوب POST ووضعها في المتغير $temp و المتغير الأخير يخبر الدالة read عن طول المعلومات المرسلة .
    السطر الثالث : كما هو معلوم أنه لو كان لديك حقلين في نموذج قمت بإنشائة بواسطة الـ HTML الأول بإسم Name و الثاني بإسم Email فسوف يتم إرسال المعلومات بالشكل التالي :
    Name=Mazen&Email=maz7@dr.com
    ففي السطر الثالث نقوم بفصل كل حقل ووضعه في المصفوفه بحيث تصبح المصفوفة على الشكل التالي :
    ------- العنصر الأول : Name = Mazen
    ------- العنصر الثاني : Email = maz7@dr.com
    حيث أن الدالة split وهي على الشكل التالي :
    split /PATTREN/,$ver
    تقوم بفصل كل مافي المتغير $ver حسب الباترين الموجود .
    قد يكون هذا السطر صعب شرحة قليلاً لأنه لكن عند التعمق في البيرل سوف يكون سهل جداً .
    foreach $item(@pairs) : هذا السطر يأخذ كل عنصر من المصفوفه pairs ويضعه في المتغير item .
    ($key,$content)=split(/=/,$item,2) : هذا السطر يقوم بنفس عمل السطر قبل السابق .
    $content=~tr/+/ /; : هذا السطر يقوم يتحويل كل علامة + إلى مسافة حيث أنه عند طلب فورم عن طريق HTML يتيم تحويل المعلومات ( حاول أن تراجع أي موضوع يتحدث عن الفورم )
    $content=~s/%(..)/pack("c",hex($1))/ge : يقوم بتحويل المعلومات المرسلة من المقابل الست عشري إلى الحرف الصحيح .
    $fields{$key}=$content; : هذا السطر يقوم بصنع هاش ( وهو أحد أنواع المصفوفات أو المتغيرات يمكن تشبيهها بقاعدة بيانات يمكن الوصول لمحتوياتها عن طريق الإسم ) .
    print "Content-type: text/html\n\n"; : يرسل إلى المتصفح معلومات أن النص المرسل هو نص HTML >
    السطور التالية : عبارة عن طباعة لوسوم HTML .
    print "$fields{fname} $fields{lname}</BR> : هذا السطر يقوم بإستدعاء أحد عناصر الهاش التي تم صنعها من قبل .

    أخيراً إعذرني إن كان الشرح غير مفهوم ( أنا عارف إنه غير مفهوم ) لكن لو فيه سطر مافهته أسأل و إنشاء الله ماراح أتأخر .
    والله يوفق الجميع .
    وكل عام و أنتم بخير .








    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً

  5. #5
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2000
    المشاركات
    2,029


    أخي مازن: جزاك الله ألف خير أخي حقيقة استفدت كثيراً من ‘جابتك، وأنا أقرأها أكثر من مرة حتى أفهمها جيداً ثم سأطرح بعض الاستفسارات





    سردال غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض