logo

وسيطات سطر أوامر بيرل

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

يسمح Perl باستخدام مجموعة @ARGV كأسماء ملفات باستخدام . يحتوي $ARGV على اسم الملف الحالي عند القراءة من ملف .

عناصر صفيف @ARGV

تعمل المصفوفة @ARGV بنفس الطريقة التي تعمل بها المصفوفة العادية. ستكون الوسيطة الأولى هي $ARGV[0]، والثانية $ARGV[1]، وهكذا.


مثال على وسيطة سطر أوامر بيرل

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

الخطوة 1 قم بإنشاء برنامج نصي Welcome.pl في النظام الخاص بك.

 #!/usr/bin/perl -w # (1) check for the number of command-line arguments entered $number_args = $#ARGV + 1; if ($number_args != 2) { print 'Wrong entry. Please enter your full name.
'; exit; } # (2) if two command line arguments received, $firstName=$ARGV[0]; $lastName=$ARGV[1]; print 'Welcome $firstName $lastName at JavaTpoint.
'; 

في البرنامج النصي أعلاه، سيتحقق أولاً مما إذا كان يتم توفير وسيطتين لسطر الأوامر أم لا. إذا لم يكن الأمر كذلك، فإنه سوف يعطي خطأ إدخال خاطئ. وإذا كانت الإجابة بنعم، فسيتم معالجة تلك الوسيطات كـ $ARGV[0] و$ARGV[1] على التوالي.

الخطوة 2 قم بتشغيل البرنامج النصي في وحدة التحكم الخاصة بك باسم بيرل Welcome.pl كريستيان غراي

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

وسيطات سطر أوامر بيرل 1

هذا هو الإخراج الذي ستحصل عليه في وحدة التحكم الخاصة بك.

الخطوة 2 قم بتشغيل البرنامج النصي في وحدة التحكم الخاصة بك باسم بيرل Welcome.pl المسيحي

هنا، نقوم بتمرير وسيطة واحدة فقط من سطر الأوامر.

وسيطات سطر الأوامر بيرل 2

في الإخراج، يمكنك رؤية رسالة الإدخال الخاطئة لتمرير وسيطة واحدة.


مثال على وسيطات سطر أوامر Perl باستخدام Loop

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

الخطوة 1 قم بإنشاء برنامج نصي حلقة.pl في النظام الخاص بك.

 #!/usr/bin/perl $get_args = $#ARGV + 1; print 'Total command line arguments received: $get_args
'; foreach $argument (0 .. $#ARGV) { print '$ARGV[$argument]
'; } 

الخطوة 2 قم بتشغيل البرنامج النصي في وحدة التحكم الخاصة بك باسم بيرل حلقة.pl أ ب ج د ه و ز ح

وسيطات سطر الأوامر بيرل 3

انظر إلى الإخراج أعلاه، فهو يعرض أيضًا إجمالي الوسائط التي تم تمريرها في سطر الأوامر. لقد مررنا هنا 8 حجج.


بيرل جيتوبت::طويل

تتم خيارات سطر الأوامر البسيطة باستخدام خيار ?s. يتم تنفيذ خيارات سطر الأوامر المعقدة باستخدام Getopt::Std وGetopt::Long.

Getopt لتقف على GetOptions . يقوم بمعالجة محتوىARGV بناءً على التكوين الذي نقدمه له. تقوم بإرجاع قيمة صحيحة أو خاطئة بناءً على المعالجة.

مثال:

في هذا المثال، سنحصل على عمر المستخدم من سطر الأوامر.

 use strict; use warnings; use 5.010; use Getopt::Long qw(GetOptions); my $x; GetOptions('from=s' => $x) or die 'Usage: $0 --from NAME
'; say'According to your age which is $x:'; if ($x >=18) { say 'You are eligible to vote'; } 

لقد أعلنا متغير والتي سيتم تخزين القيمة المدرجة فيها --من من وحدة التحكم القياسية. ال من = ق تعلن معلمة سطر الأوامر تسمى --من مع سلسلة بعد ذلك. يتم تعيينه أيضًا للمتغير $x. الخط المائل العكسي () يعني أننا نمرر إشارة إلى المتغير.

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

الآن سوف نقوم بتشغيل هذا البرنامج

انتاج:

وسيطات سطر أوامر بيرل 4

انظر إلى الإخراج، بعد إدخال العمر على وحدة التحكم، حصلنا على الإخراج أعلاه.