العامل هو رمز يخبر المترجم بإجراء عملية رياضية أو منطقية معينة، مثل: 3+2=5.
تحتوي لغة Perl على عدد كبير من عوامل التشغيل المضمنة، دعنا نلقي نظرة على بعض عوامل التشغيل الشائعة الاستخدام:
العوامل الحسابية
عامل المقارنة
العوامل المنطقية
عامل المهمة
مشغلي البت
مشغل الاقتباس
مشغلين آخرين
أسبقية المشغل
في مثال الجدول، قمنا بتعيين المتغيرات $a إلى 10 و $b إلى 20.
مشغل | يصف | مثال |
---|---|---|
+ | إضافة | $a + $b ينتج عنه 30 |
- | الطرح | $a - $b ينتج عنه -10 |
* | الضرب | $a * $b النتائج في 200 |
/ | عملية التقسيم | $b / $a ينتج عنه 2 |
% | إيجاد عملية الباقي، الباقي بعد قسمة عدد صحيح | $b % $a يؤدي إلى 0 |
** | اضرب إلى السلطة | نتيجة $a**$b هي 10 مرفوعة للقوة العشرين |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = 10 , $b = 20$a + $b = 30$a - $b = -10$a * $b = 200$a / $b = 0.5$a % $b = 10$a ** $ ب = 16
في مثال الجدول، قمنا بتعيين المتغيرات $a إلى 10 و $b إلى 20.
مشغل | يصف | مثال |
---|---|---|
== | يتحقق مما إذا كانت قيم المعاملين متساوية، إذا كانت متساوية فإن الشرط صحيح، وإلا فهو خطأ. | ($a == $b) غير صحيح |
!= | يتحقق مما إذا كانت قيم المعاملين متساوية، إذا لم يكن الشرط صحيحًا، وإلا فهو خطأ. | ($a != $b) صحيح. |
<=> | يتحقق مما إذا كانت قيمتي المعاملين متساويتين، ويعيد -1 إذا كان الرقم الموجود على اليسار أقل من الرقم الموجود على اليمين، و0 إذا كانا متساويين، و1 إذا كان الرقم الموجود على اليسار أكبر من الرقم على اليمين. | ($a <=> $b) يُرجع -1. |
> | للتحقق مما إذا كانت قيمة المعامل الأيسر أكبر من قيمة المعامل الأيمن، إذا كان الأمر كذلك، فإن الشرط صحيح، وإلا فهو خطأ. | ($a > $b) يُرجع خطأ. |
< | للتحقق مما إذا كانت قيمة المعامل الأيسر أقل من قيمة المعامل الأيمن، إذا كان الأمر كذلك، فإن الشرط صحيح، وإلا فإنه يُرجع خطأ. | ($a < $b) يُرجع صحيحًا. |
>= | للتحقق مما إذا كانت قيمة المعامل الأيسر أكبر من أو تساوي قيمة المعامل الأيمن، إذا كان الأمر كذلك، فإن الشرط صحيح، وإلا فإنه يُرجع خطأ. | ($a >= $b) يُرجع خطأ. |
<= | للتحقق مما إذا كانت قيمة المعامل الأيسر أقل من أو تساوي قيمة المعامل الأيمن، إذا كان الأمر كذلك، فإن الشرط صحيح، وإلا فإنه يُرجع خطأ. . | ($a <= $b) يُرجع صحيحًا. |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = 10 , $b = 20$a == $b النتيجة خاطئة$a != $b النتيجة صحيحة$a <=> $b إرجاع -1$a > $b النتيجة خاطئة$a >= $b النتيجة خاطئة $a < $b النتائج صحيحة$a <= $b النتائج صحيحة
في مثال الجدول التالي، قم بتعيين المتغير $a إلى "abc" والمتغير $b إلى "xyz"، ثم استخدم عوامل المقارنة لحساب النتيجة.
مشغل | يصف | مثال |
---|---|---|
لتر | للتحقق مما إذا كانت السلسلة الموجودة على اليسار أصغر من السلسلة الموجودة على اليمين، إذا كان الأمر كذلك فإنها تُرجع صحيحًا، وإلا فإنها تُرجع خطأ. | ($a lt $b) يُرجع صحيحًا. |
GT | للتحقق مما إذا كانت السلسلة الموجودة على اليسار أكبر من السلسلة الموجودة على اليمين، إذا كان الأمر كذلك فإنها تُرجع صحيحًا، وإلا فإنها تُرجع خطأ. | ($a gt $b) يُرجع خطأ. |
لو | للتحقق مما إذا كانت السلسلة الموجودة على اليسار أقل من أو تساوي السلسلة الموجودة على اليمين، إذا كان الأمر كذلك فإنها تُرجع صحيحًا، وإلا فإنها تُرجع خطأ. | ($a le $b) يُرجع صحيحًا |
ge | للتحقق مما إذا كانت السلسلة الموجودة على اليسار أكبر من أو تساوي السلسلة الموجودة على اليمين، إذا كان الأمر كذلك فإنها تُرجع صحيحًا، وإلا فإنها تُرجع خطأ. | ($a ge $b) يُرجع خطأ. |
مكافئ | للتحقق مما إذا كانت السلسلة الموجودة على اليسار مساوية للسلسلة الموجودة على اليمين، إذا كان الأمر كذلك فإنها تُرجع صحيحًا، وإلا فإنها تُرجع خطأ. | ($a eq $b) يُرجع خطأ. |
شمال شرق | للتحقق مما إذا كانت السلسلة الموجودة على اليسار لا تساوي السلسلة الموجودة على اليمين، إذا كان الأمر كذلك فإنها تُرجع صحيحًا، وإلا فإنها تُرجع خطأ. | ($a ne $b) يُرجع صحيحًا |
cmp | تُرجع 1 إذا كانت السلسلة الموجودة على اليسار أكبر من السلسلة الموجودة على اليمين، و0 إذا كانت متساوية، و-1 إذا كانت السلسلة الموجودة على اليسار أقل من السلسلة الموجودة على اليمين. | ($a cmp $b) يُرجع -1. |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = abc, $b = xyzabc lt $b ترجع true$a gt $b ترجع false$a le $b ترجع true$a ge $b ترجع false$a ne $b ترجع true$a cmp $b ترجع -1
في مثال الجدول، قمنا بتعيين المتغيرات $a إلى 10 و $b إلى 20.
مشغل | يصف | مثال |
---|---|---|
= | عامل التعيين البسيط، يعين قيمة المعامل الأيمن إلى المعامل الأيسر | $c = $a + $b سيعين قيمة $a + $b إلى $c |
+= | يقوم عامل الإضافة والتخصيص بتعيين نتيجة إضافة المعامل الأيمن إلى المعامل الأيسر إلى المعامل الأيسر. | $c += $a يساوي $c = $c + $a |
-= | يقوم عامل الطرح والتخصيص بتعيين نتيجة طرح المعامل الأيمن من المعامل الأيسر إلى المعامل الأيسر. | $c -= $a يساوي $c = $c - $a |
*= | يقوم عامل الضرب والتخصيص بتعيين نتيجة ضرب المعامل الأيمن بالمعامل الأيسر إلى المعامل الأيسر. | $c *= $a يساوي $c = $c * $a |
/= | يقوم عامل القسمة والتخصيص بتعيين نتيجة قسمة المعامل الأيسر على المعامل الأيمن إلى المعامل الأيسر. | $c /= $a يساوي $c = $c / $a |
%= | يقوم مشغل Modulo والتخصيص بالعثور على معامل اثنين من المعاملين ويقوم بتعيينه إلى المعامل الأيسر | $c %= $a يعادل $c = $c % a |
**= | يجد عامل الأس والتخصيص قوة المعاملين ويعينهم إلى المعامل الأيسر. | $c **= $a يعادل $c = $c ** $a |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = 10، $b = 20. بعد التعيين، $c = 30$c = 40، بيان العملية $c += $a$c = 30، بيان العملية $c -= $a$c = 300، بيان العملية $c *= $a$c = 30، بيان العملية $c /= $a$c = 0، بيان العملية $c %= $a$a = 4، $c = 2$c = 16، بيان العملية $c **= $a
تعمل عوامل Bitwise على البتات وتنفذ العمليات شيئًا فشيئًا.
تعيين $a = 60، $b = 13، الآن بالتنسيق الثنائي، يبدوان كما يلي:
$a = 0011 1100$b = 0000 1101-----------------$a&$b = 0000 1100$a|$b = 0011 1101$a^$b = 0011 0001 ~$أ = 1100 0011
يتم عرض عوامل البت التي يدعمها Perl في الجدول التالي:
مشغل | يصف | مثال |
---|---|---|
& | يقوم عامل التشغيل AND الثنائي بنسخ بت واحد إلى النتيجة في حالة وجود كلا المعاملين. | ($a & $b) سيعطيك 12، وهو في النظام الثنائي 0000 1100 |
| | يقوم عامل التشغيل الثنائي OR بنسخ بت واحد للنتيجة إذا كانت موجودة في أي من المعاملين. | ($a | $b) سيحصل على 61، وهو 0011 1101 بالنظام الثنائي |
^ | يقوم عامل XOR الثنائي بنسخ النتيجة قليلاً إذا كانت موجودة في أحد المعاملات ولكن ليس في كليهما. | ($a ^ $b) سيعطيك 49، وهو بالنظام الثنائي 0011 0001 |
~ | العامل المكمل للثنائي هو عامل أحادي له تأثير "قلب" البتات، أي أن 0 يصبح 1 و1 يصبح 0. | (~$a ) سيعطي -61، وهو 1100 0011 في النظام الثنائي، وهو الشكل المكمل للرقم الثنائي الموقع. |
<< | مشغل التحول الأيسر الثنائي. يتم إزاحة قيمة المعامل الأيسر إلى اليسار بعدد البتات المحددة بواسطة المعامل الأيمن. | $a << 2 سيعطيك 240، وهو 1111 0000 في النظام الثنائي |
>> | مشغل التحول الأيمن الثنائي. يتم إزاحة قيمة المعامل الأيسر إلى اليمين بعدد البتات المحددة بواسطة المعامل الأيمن. | $a >> 2 سيحصل على 15 وهو في النظام الثنائي 0000 1111 |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = 60 , $b = 13$a & $b = 12$a |. $b = 61$a ^ $b = 49~$a = -61$a << 2 = 240$a >> 2 = 15
يتم عرض عوامل التشغيل المنطقية لـ Perl في الجدول التالي.
في مثال الجدول، قمنا بتعيين المتغير $a إلى true و$b إلى false.
مشغل | يصف | مثال |
---|---|---|
و | المنطقي والمشغل. إذا كان كلا المعاملين صحيحا، فإن الشرط صحيح. | ($a و$b) غير صحيح. |
&& | C-نمط منطقي ومشغل. يكون الشرط صحيحًا إذا كان كلا المعاملين صحيحين | ($a && $b) غير صحيح. |
أو | عامل تشغيل منطقي أو. يكون الشرط صحيحًا إذا كان أحد المعاملين غير صفر. | ($a أو $b) صحيح. |
|| | عامل التشغيل المنطقي OR على النمط C. يكون الشرط صحيحًا إذا كان أحد المعاملين غير صفر. | ($a || $b) صحيح. |
لا | عامل التشغيل NOT المنطقي. يستخدم لعكس الحالة المنطقية للمعامل. إذا كان الشرط صحيحًا، فإن العامل المنطقي NOT سيجعله خطأ. | not($a و $b) صحيح. |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = true و $b = false$a و $b = false$a && $b = false$a أو $b = true$a || $b = truenot($a)= 1
يتم عرض عوامل اقتباس Perl في الجدول التالي.
مشغل | يصف | مثال |
---|---|---|
ف { } | أضف علامات الاقتباس المفردة إلى السلسلة | q{abcd} ينتج عنه "abcd" |
ف ف { } | أضف علامات الاقتباس المزدوجة إلى السلسلة | qq{abcd} يؤدي إلى "abcd" |
س س { } | أضف علامات خلفية إلى السلسلة | qx{abcd} ينتج عنه `abcd` |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
q{a = $a} = a = $aqq{a = $a} = a = 10qx{date} = الجمعة، 10 يونيو، 2016، الساعة 16:22:33 بتوقيت وسط أمريكا
بالإضافة إلى العوامل التي ذكرناها أعلاه، تدعم لغة Perl أيضًا العوامل التالية:
مشغل | يصف | مثال |
---|---|---|
. | يتم استخدام النقطة (.) لربط سلسلتين. | إذا كان $a="run", $b="oob" ، فإن نتيجة $a.$b هي "codercto" |
س | يُرجع عامل التشغيل x عدد مرات تكرار السلسلة. | ('-' × 3) الإخراج هو ---. |
.. | .. هو عامل النطاق. | (2..5) نتيجة الإخراج هي (2، 3، 4، 5) |
++ | عامل الزيادة، تزيد قيمة العدد الصحيح بمقدار 1 | $a =10، $a++ سيخرج 11 |
-- | عامل إنقاص، يقلل قيمة عددية بمقدار 1 | $a = 10، $a-- الناتج هو 9 |
-> | يتم استخدام الأسهم لتحديد أساليب فئة ما | يمثل $obj->$a طريقة $a للكائن $obj. |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = run , $b = oob$a . $b = codercto"-" x 3 = ---(2..5) = 2 3 4 5$a = 10 , $b = 15$a تنفيذ $a++ = 11$b تنفيذ $b-- = 14
يسرد الجدول التالي أسبقية عامل التشغيل للغة Perl:
مشغل | الترابط |
---|---|
++، -- | لا أحد |
-،~،! | من اليمين إلى اليسار |
** | من اليمين إلى اليسار |
=~،!~ | من اليسار إلى اليمين |
*، /،٪، س | من اليسار إلى اليمين |
+، -، . | من اليسار إلى اليمين |
<<، >> | من اليسار إلى اليمين |
-ه، -ر، | لا أحد |
<، <=، >، >=، lt، le، gt، ge | من اليسار إلى اليمين |
==، !=، <=>، مكافئ، ني، cmp | من اليسار إلى اليمين |
& | من اليسار إلى اليمين |
|، ^ | من اليسار إلى اليمين |
&& | من اليسار إلى اليمين |
|| | من اليسار إلى اليمين |
.. | من اليسار إلى اليمين |
؟ و : | من اليمين إلى اليسار |
=، +=، -=، *=، | من اليمين إلى اليسار |
آخر | |
, | من اليسار إلى اليمين |
لا | من اليسار إلى اليمين |
و | من اليسار إلى اليمين |
أو اكسور | من اليسار إلى اليمين |
نتيجة الإخراج لتنفيذ البرنامج أعلاه هي:
$a = 20، $b = 10، $c = 15، $d = 5($a + $b) * $c / $d = 90(($a + $b) * $c) / $d = 90($a + $b) * ($c / $d ) = 90$a + ($b * $c )/ $d = 50