الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سلسلة تعليميه في لغة البيرل

بدأه حازم مفيد في 11 أبريل 2009 · 10 رد · 4,150 مشاهدة · في لغة Perl
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

اهلا بكم جميعا باذن الله سوف ابدا دورة البيرل من البداية باذن الله

اولا احب اشكر الى كل من يساهم في هذا القسم وخاصة اخي ( بن العيد ومروان ) الله يجزاهم خير

-------------------------------------------------------

الاسـاسيــات:

سوف نبدا باول امر يبدا به اي مبرمج وهو امر الكتابة على الشاشه ( الطباعه ) و الجمله الشهيره Hello World لكن هنغيرها ونكتب Hello Perl :P

شوف المثال ده

   print " Hello Perl im new :)";

اكيد كلنا لدينا تساؤلات الان ..اولهم ما هو المكتوب في السطر الاول :wink:

الجواب هيكون ان اول سطر هذا هو امر الطباعه على الشاشه وهو Print

ده كان اول مثال لينا مع البيرل :happy:

هنتعرف دلوقتي على طريقتين لكتابة التعليقات

طيب ايه هي التعليقات : التعليقات هي بعض الملحوظات توضع بجانب الكود لتوضيحه والتي عملها الوحيد التوضيح فهي لا تؤثر على عمل كودك

طيب ازاي نكتبها في البيرل ... في طريقتين

الاولى وهي المنتشره

شوف

print " Hi this is a comment "; # ... this a comment example

حيث ان الرمز # هو المسئول عن التعليقات

الطريقة التانيه واللي هي


Author : Hazem mofeed
=cut
print " hi ";
 =about

انتهى الدرس الاول ..

في امان الله

اخوكم

حازم مفيد

تم تعديل هذه المشاركة بواسطة حازم مفيد في 12 أبريل 2009 في 00:37

tvquran_7.gif

Secur1ty-Area

#2

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

السلام عليكم

نكمل دلوقتي مع بعض الدرس الثاني : والذي سيتحدث عن

الــــــمـــــــتــــــــغيـــــــــرات في البيرل : -

تعريف المتغيرات : هو حجز مكان محدد في الذاكرة نستطيع تسميته وتحديد نوعه

انواع المتغيرات : -

1- اعداد صحيحه ( Integer )

2- اعداد حقيقيه (float)

3- نصوص ( string )

نستطيع ان نعرف المتغير في البيرل عن طريق الرمز الاتي ( $ ) ثم يتبعه اسم المتغير ثم قيمة المتغير

انظر الى مثال وهمي

$varible=value; # $name=value......

انظر الى هذا المثال على الاعداد الصحيحه والحقيقيه والنصوص


$float=1.5;
$string=" Hazem mofeed ";

print $integer;
print "\n";
print $float;
print "\n";
print $string;
$integer=55;

النتيجه


1.5
Hazem mofeed
 55

سنشرح الان العمليات الحسابيه في البيرل

اشارات العمليات الحسابيه :

* : ضرب

/ : قسمة

- : طرح

+ : جمع

انظر الى هذا المثال


$num2=5*2;

print $num;
print "\n";
print $num2;
$num=55+99;

انتهى درسنا عن المتغيرات

في امان الله اخوكم حازم

tvquran_7.gif

Secur1ty-Area

#3

السلام عليكم

هنا ساضيف بعض الاضافات البسيطه : -

بعض الاوامر


\t = ازاحه 8 فراغات
\n = سطر جديد

وهناك كثير لكن سنحتاج هذان .. :happy:

وهضيف ايضا عملية دمج متغيرين في متغير واحد

انظر المثال الاتي


$test2="World";
$mix=$test." ".$test2;
print $mix;
$test="hello";

حاول تشغل مخك وتفهمها :lol:

انتهى .

اخوكم حازم

في امان الله

tvquran_7.gif

Secur1ty-Area

#4

السلام عليكم ورحمة الله وبركاتة

درسنا اليوم هو عن المصفوفات : Arrays

*********************

ما وظيفة المصفوفات : ؟

وظيفتها تعريف اكثر من متغير

نقوم بتعريف المصفوفات عن طريق الرمز ( @ ) ونضع المتغيرات

انظر المثال الاتي


print " $num[3]";
@num=(1,2,3,4);

طبعا احنا هنطبع المتغير رقم 3 واللي هو ( 4 ) ومن هنا نعرف ان البيرل بتبدا الفهرسه من الصفر

0 1 2 3 4 5 6 ...

طيب يبقى النتيجه في المثال اللي فوق كم :happy: ..

طريقة اخرى للفهرسه

انظر المثال الاتي


print "@num[2..4]";
   @num=(1,2,3,4);

دلوقتي هنبدا ندرس بعض الدوال اللي بنستخدمها في المصفوفات

اول دالة الدالة Join

ودي بتستخدم لطباعة كل عناصر المصفوفه

مثال


print join(" ",@hi);
@hi=("Hi","Egypt");

لاحظ ال " " .. في مسافه علشان تفصل بين Hi و Egypt

دالة ( push )

واللي بنقدر نضيف من خلالها عنصر الى اخر المصفوفه على سبيل المثال


push(@flags,"Yaman");
print join(' ',@flags);
@flags=("Egypt","Saudi Arabia","Jordan");

وهنلاحظ الفرق في اول امر طباعة من التاني

لان الاول كان هيطبع المصفوفه وهي بتحتوي على ثلاث دول فقط

انما تاني امر طباعه هيطبع 4 دول

وطبعا علشان احنا ضفنا الدولة الرابعه للمصفوفه بالدالة push وهيكون العنصر اللي اضفناه في اخر المصفوفه

الدالة pop

والدالة دي بتقوم بازالة اخر عنصر في المصفوفه

مثال


pop(@flags);
print join(' ',@flags);
@flags=("Egypt","Saudi Arabia","Jordan");

الدالة unshift

الداله دي بتقوم باضافة عنصر بس من اول المصفوفه مش من الاخر زي push

مثال


unshift(@flags,"Yaman");
print join(' ',@flags);
@flags=("Egypt","Saudi Arabia","Jordan");

الدالة Shift

الداله دي بتقوم بازالة عنصر من اول المصفوفه

مثال


shift(@flags);
print join(' ',@flags);
@flags=("Egypt","Saudi Arabia","Jordan");

انتهى درسنا عن المصفوفات

يارب يكون عجبكم استنوني في الدرس القادم

اخوكم حازم

في امان الله

tvquran_7.gif

Secur1ty-Area

#5

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

السلام عليكم ورحمة الله وبركاتة

اهلا بكم باذن الله هشرح نوع تاني من المصفوفات واللي هو الهاش

طيب هتسالني ايه الفرق بين المصفوفات والهاشات

الهاشات بتمكننا باننا نفهرس بالنصوص مش زي المصفوفات بتسمح لنا باننا نفهرس بالارقام $flags[3] مثلا

طيب دلوقت الهاشات علشان نعرفها نضيف العلامه دي ( % ) :wink:

نشوف المثال ده


"Hatem","Python\n",
"anything","55\n");

print $power{"Alaa"};
print $power{"Hatem"};
print $power{"anything"};
%power=("Alaa","C++\n",

لو نلاحظ هنلاقي اننا عرفنا الهاشات ب % وعرفنا كل واحد من الاشخاص دي واللغه اللي بيحبها يعني Alaa القيمه بتاعته C++ ... وهكذا

ونطبعها عادي ونلاحظ ان القوسين {} مش قوسين عاديين :wacko:

ممكن تستبدل ال ( , ) ب =>

شوف كدا


"Hatem"=>"Python\n",
"anything"=>"55\n");

print $power{"Alaa"};
print $power{"Hatem"};
print $power{"anything"};
%power=("Alaa"=>"C++\n",

اختار اللي اريحلك :lol:

انتهى درسنا عن الهاشات

اخوكم حازم مفيد

في امان الله

tvquran_7.gif

Secur1ty-Area

#6

السلام عليكم

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

بسم الله نبدا

اولا عاوزين نعرف ازاي نكرر اي حاجه يعني ازاي نكرر نص مثلا 5 مرات

في مؤثر بيقوم بالعمليه دي ورمزه ( x ) حرف الاكس

نشوف مثال

print " Hi " x 5;

هنشوف دلوقتي ايه هي المعاملات المنطقيه


and = &&
لا تساوي = !
or = ||

طيب نكمل لموضوعنا الاساسي اللي هو الادخال والاخراج في البيرل

في الرد ده هضيف طريتين

STDIN

انظر المثال


$name=<STDIN>;
chomp $name;
print " Your name is : $name";
print " Enter Your name : \t ";

اكيد الامر chomp مفهمتش هو بيعمل ايه

هقولك الامر ده عامل زي الامر Scanf في السي بيخليك تخزن بيانات لحد ماتستدعيها

وتم استدعائها في السطر الرابع ..

الطريقة الثانيه باستخدام @ARGV


print "Usage: $0 <name> <number>\n";
exit;
}
($name, $number) = @ARGV;
print "Hello $name your number was: $number\n";
if(@ARGV !=2) {

حيث انها تخبر المستخدم بطريقة الاستخدام usage ففي مثالنا اخبارناه بان يدخل بعد مسار الملف

ومسار الملف = $0 ان يدخل اسمه ثم رقمه

ومن ثم يطبع له الاثنين ..

ستفهمها اكتر عندما ناخد الجمل الشرطيه if , els................

انتهى درسنا

في امان الله

اخوكم حازم

تم تعديل هذه المشاركة بواسطة حازم مفيد في 12 أبريل 2009 في 00:14

tvquran_7.gif

Secur1ty-Area

#7

السلام عليكم

دلوقتي هشرح لكم الثوابت في البيرل

ماهي الثوابت

هي قيم لاتتغير ..

مثال على استخدام الثوابت في البيرل



print " author is : ",Author;
use constant Author => "Hazem Mofeed";

لتعريف الثوابت استخدمنا use constant

ومن ثم اعطينا اسم للثابت وقيمه

Const => value

بامكاننا وضع اي نوع من البيانات اعداد نصوص وحتى نستطيع عمل مصفوفات ثابته

انظر المثال الاتي



print " The first name : ",(Author)[0];
print " the second name : ",(Author)[1];
use constant Author=>('Hazem','Mofeed');

انشانا مصفوفه ثابته باسم Author وقيمها Hazem , Mofeed

لاحظ عندما نستدعي مصفوفات ثابته يجب وضع اسم المصفوفه بين قوسين ()

حيث انك اذا لم تضعها في قوسين اي كذلك


print " The first name : ",Author[0];
# it's not working ....
use constant Author=>('Hazem','Mofeed');

نستطيع ايضا جعل الهاشات مثبته انظر المثال الاتي


print "The third member is ", member->[2];
use constant member=>[ 'hazem', 'hatem', 'alaa', 'mahmood'];

اظنك ايقنت ان البيرل لغة سلسه جدا وسهله

انتهى درسنا الى هنا

اخوكم حازم مفيد

في امان الله

يتبع

tvquran_7.gif

Secur1ty-Area

#8

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

السلام عليكم ورحمة الله وبركاتة

اهلا بكم الان سنقوم بشرح ادوات الشرط في لغة البيرل .. ( if / else / )

-* ---------------

هنبتدي بالادة if

شوف المثال الاتي


if($a=="Hi")
{
print " correct a varible = Hi ";
}
 $a="Hi";

لاحظنا اكيد البنيه لاداة الشرط if

ان لو المتغير a بيساوي النص Hi اذن اطبع correct a varible= Hi

طيب دلوقت علشان نضيف احتمالات اكثر لكودنا هنستخدم ااداة الشرط else

نشوف المثال ده


print " (2) hello word \n";
$answer=<STDIN>;
chomp($answer);
if($answer eq 1)
{
print " Hi .. you choose (1) :) ";
}
elsif($answer eq 2)
{
print " Hello Word .. you choose (2) :)";
}
else {
print "bad choice";
}
 print " (1) hi word \n";

في المثال السابق طلبنا من المستخدم اختيار احد الخيارين واستخدمنا الاداة if/elsif/else للتحقق من الشرط حيث اذا المتغير answer = الخيار رقم 1 اذن ادخل في هذه البلوك

ونفذ امر الطباعه التالي وهكذا الى ان نصل الى الامر else والذي يفيدنا اذا ادخل المستخدم خيار غير المتاح او اي نص يطبع له الرساله bad choice

وهذا مثال شامل على ادوات الشرط

الة حاسبه بسيطه


$first=<STDIN>;
chomp $first;
print "enter second number \n";
$second=<STDIN>;
chomp $second;
print "enter the operator \n";
$op=<STDIN>;
chomp $op;
print " \n\n";
if($op eq "+")
{
print $first + $second;
}
elsif($op eq "-")
{
print $first - $second;
}
elsif($op eq "*")
{
print $first * $second;
}
elsif($op eq "/")
{
print $first / $second;
}
else { print " Bad Command " };
print "enter first number \n";

انتهى درسنا في ادوات الشرط

الدرس القادم عن حلقات التكرار .. :happy:

في امان الله

اخوكم حازم

تم تعديل هذه المشاركة بواسطة حازم مفيد في 12 أبريل 2009 في 23:27

tvquran_7.gif

Secur1ty-Area

#9

السلام عليكم ورحمة الله وبركاته

اهلا بكم من جديد في هذا الدرس سوف اشرح حلقات التكرار في البيرل

WHILE

UNTIL

FOR

FOREACH

سناخذ اول حلقه وهي WHILE

والتي بنيتها الاتي


ٍStatement
}
while(coniation){

يعني اذا تحقق الشرط نفذ البلوك ..

انظر هذا المثال


while($ahly<=10){
print "Name ::: ".$ahly."\n";
$ahly++;
}
$ahly=1;

حيث ان الناتج سيكرر الجمله AHLY مع ال $ahly

طيب نشوف Until

دي بقى عكس while فدي لو الشرط مش صحيح يعني False يدخل في البلوك وينفذه ولو كان true مينفذش

شوف مثال


until($ahly !=1){
print "AHLY ::: ".$ahly."\n";
$ahly++;
}
$ahly=1;

طبعا الكود هيشتغل علشان انا حطيت != علشان اخلي الشرط خطا علشان تتنفذ الجمله until زي ماقولت فوق انها بتنفذ البلوك لما بيكون false

هنشوف دلوقت For

بتتكون من

القيمه الابتدائيه ; الشرط ; القيمه الجديده

حيث انه ياخذ القيمه التي توجد في المتغير تبع القيمه الابتدائية ويدخل على الشرط ومن ثم ينفذ البلوك

نشوف مثال


print " Success : ".$i."\n";
}
for($i=1;$i<=10;$i++){

تمام الان هنشوف foreach

دي زي for بس دي بتقدر تدخل بين المصفوفات

نشوف مثال


foreach (@hi){
print "hi array val is :".$_."\n";
}
@hi=("Hello","world");

حيث ان $_ هو المتغير الافتراضي في لغة البيرل..

انتهى درسنا ..

انتظروا البقيه

اخوكم حازم

في امان الله

tvquran_7.gif

Secur1ty-Area

#10

السلام عليكم ورحمة الله وبركاتة

في هذا الدرس يعتبر ان وصلت الى مستوى المتوسط في لغة بيرل :)

سنشرح في هذا الدرس ال Subroutines

ماهي ال subroutines

هي دوال ينشئها المبرمج ويتمكن من استدعائها حينما يشاء ..

فمثلا اذا اردت ان تقوم باستدعاء كلمة im hazem mofeed

كل مره في البرنامج براحتك اذا انظر المثال


print " im hazem mofeed ";
}

# طريقة الاستدعاء
&name;
sub name{

تستطيع برمجة برنامج كامل داخل ال subroutines واستدعائها في برنامجك الاصلي

نصيحه : عندما تبرمج دوال .. برمجها كانك تبرمج برنامج عادي !!

ال subroutines لها فوائد كثيرة جدا جدا

وانت اكتشف فوائدها :)

في امان الله

tvquran_7.gif

Secur1ty-Area

#11

السلام عليكم ورحمة الله وبركاتة

هنشرح دلوقتي ال تصفية النصوص او ( التعبيرات المنتظمه )

والتي من اهم ما يجعل البيرل متميزه وهو ال regexp والتي تمكننا من ايجاد تطابق النصوص

شوف المثال التالي


$h="arabteam2000555555555";
if($h=~/arabteam2000/){
print " word founded ";
}
else { print " NOT FOUND ";}

حيث اننا قمنا بتصفية القيمه التي توجد في $h واخبرنا الجمله if لو تطابقت كلمة arabteam2000 مع محتوى المتغير h اذن اطبع word founded

عن طريق

~/DATA/

يمكنك ايضا ان تخبره اذا

..........................

الدوره كانت اساسيات اللغه انت الان تعتبر مؤهل باذن الله وعونه للتقدم في اللغه !!

!...

انتهت الدورة .. وان شاء الله تفيدكم

انتظروا مني المواضيع المتقدمه في لغة البيرل في خارج هذا الموضوع

.. ويارب اكون وفقت في هذه الدوره .. :blush:

ان كان صواب فمن الله وان كان خطا فمني ومن الشيطان

اخوكم حازم مفيد

في امان الله

تم تعديل هذه المشاركة بواسطة حازم مفيد في 13 أبريل 2009 في 20:35

tvquran_7.gif

Secur1ty-Area

مواضيع مشابهة