با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمندان به دوره آموزشی پرل Perl. در جلسه گذشته به صورت جزئی و مفصل نحوه نصب و راه اندازی پرل پرداختیم و نصب این زبان برنامه نویسی را در محیط های مختلف آموزش دادیم. در این جلسه با آموزش کار با سینتکس پرل در کنار شما هستم.
پرل از سیتکس ها و بسترهای زیادی و از زبان های مختلفی چون :
awk, sed, C, Bourne Shell, Smalltalk, Lisp و حتی زبان انگلیسی بهره می گیرد؛ اگرچه تفاوت های بارزی بین این زبان ها وجود دارد.
در این جلسه می توانید با سرعت قابل توجهی سینتکس پرل را بیاموزید.
برنامه پرل شامل طیفی از declarations و statements است که از بالا به پایین اجرا می شوند.
Loops, subroutines و سایر ابزارهای کنترل در پرل به شما اجازه می دهد که با سهولت و سادگی میان کدها جا به جا شوید.
توجه داشته باشید که هر ساده ای بایستی با یک علامت (;) پایان یابد.
پرل یک زبان فرم رایگان است: شما می توانید آن را فرمت کرده و به هر شکل و صورتی که می خواهید در آورید.
Whitespace ها یا فضای های سفید در پایتون بخش مهمی از سینتکس شمرده می شود و در Fortran این فضا ها عمدتاً بی اهمیت هستند.
در پرل بر خلاف اغلب زبان های برنامه نویسی چون پایتون و Fortran، فضاهای سفید برای جدا کردن نشانه ها یا tokens مورد استفاده قرار می گیرند.
در ادامه آموزش کار با سینتکس پرل شما را برنامه نویسی تعاملی و برنامه نویسی Script Mode را معرفی می نماییم.
می توانید مترجم پرل را با گزینه -e در خط فرمان استفاده نمانید که اجازه اجرا statements های پرل را از خط فرمان می دهد.
حالا می خواهیم یک مورد را در prompt $ امتحان کنیم.
1 | $perl -e 'print "Hello World\n"' |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 | Hello, world |
اگر هنوز در prompt $ هستید یک فایل متنی hello.pl را با استفاده از باز کنید و خطوط زیر را در داخل فایل قرار دهید.
1 2 3 4 | #!/usr/bin/perl # This will print "Hello, World" print "Hello, world\n"; |
در اینجا usr / bin / perl/ باینری مترجم پرل است.
قبل از اینکه اسکریپت خود را اجرا کنید، مطمئن شوید که حالت پرونده اسکریپت را تغییر دهید و مجوز اجرا را به کار برید.
به طور کلی تنظیمات ۰۷۵۵ کاملا کار می کند و در نهایت اسکریپت فوق را به صورت زیر اجرا کنید.
1 2 | $chmod 0755 hello.pl $./hello.pl |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 | Hello, world |
می توانید از پرانتز برای arguments های توابع استفاده کنید یا آنها را با توجه به سلیقه شخصی خود حذف نمایید.
گاهی به arguments ها نیاز دارید تا مسائل مرتبط با اولویت ها را مشخص کنید.
دو عبارت ما، نتایج مشابهی خواهند داشت.
1 2 | print("Hello, world\n"); print "Hello, world\n"; |
یک اسکریپت پرل می تواند در هر برنامه ویرایشگر نرم افزاری متن ساده ایجاد شود.
برنامه های متعددی برای هر نوع پلتفرم وجود دارد شما به عنوان یک برنامه نویس می توانید از برنامه های موجود در وب استفاده نمایید.
یک فایل پرل باید با یک پسوند فایل .pl یا .PL ذخیره شود تا به عنوان یک اسکریپت Perl فعال شناخته شود.
نام فایل ها می تواند شامل اعداد، نمادها و حروف باشد، اما نباید در آن ها از فضاهای خالی یا space استفاده نمود.
سعی کنید از (_) یا underscore ها در فضاهای خالی استفاده نمایید.
برنامه نویسان همیشه و در هر زبان برنامه نویسی ای خواهان و طرفدار Comments ها هستند.
Comments را می توان برای برنامه نویسان کاربر پسندانه تر کرد.
Comments به سادگی و بدون اعمال کد نیز قابل اجرا هستند. برای مثال در برنامه بالا، یک خط با # hash در یک Comment شروع شده است.
Comments ها در پرل با یک نماد hash شروع شده و به پایان می رسند.
1 | # This is a comment in perl |
خطوط با یک علامت = که به عنوان آغاز یک بخش از embedded documentation تفسیر می شوند آغاز می شوند.
در ادامه آن همه خطوط بعدی تا علامت = بعدی که نشانه پایان آن هااست توسط کامپایلر نادیده گرفته می شوند.
به مثال زیر توجه کنید.
1 2 3 4 5 6 7 8 9 10 11 | #!/usr/bin/perl # This is a single line comment print "Hello, world\n"; =begin comment This is all part of multiline comment. You can use as many lines as you like These comments will be ignored by the compiler until the next =cut is encountered. =cut |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 | Hello, world |
یک برنامه پرل به هیچ وجه اهمیتی به فضاهای سفید نمی دهد.
در مثال زیر می توانید ببینید که وجود این فضاها هیچ گونه مشکلی در برنامه ایجاد نکرده است.
1 2 3 | #!/usr/bin/perl print "Hello, world\n"; |
توجه داشته باشید که اگر فضاهای سفید در درون رشته های quoted باشند در آن صورت می توانند پرینت شوند.
به مثال زیر توجه نمایید.
1 2 3 4 5 | #!/usr/bin/perl # This would print with a line break in the middle print "Hello world\n"; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 | Hello world |
همه فضاهای سفید نظیر spaces, tabs, newlines و … هنگامی که از نقل قول یا quotes خارج شوند برای مترجم پرل حالت متعادل دارند.
یک خط حاوی تنها یک فضای سفید، احتمالا به عنوان یک خط خالی شناخته شده است اما پرل کاملا آن را نادیده می گیرد.
آموزش کار با سینتکس پرل را با انواع نقل قول ها در پرل آشنا می نماییم.
می توان نقل قول های تکی یا دوگانه را در اطراف رشته های خطی به صورت زیر استفاده کرد.
1 2 3 4 | #!/usr/bin/perl print "Hello, world\n"; print 'Hello, world\n'; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 | Hello, world Hello, world\n$ |
تفاوت عمده میان نقل قول های تکی و نقل قول های دوگانه با یکدیگر وجود دارد.
نقل قول های دوگانه متغیرها و خصوصاً کاراکتر هایی مثل newlines \n را درون عبارت جای می دهند.
اما نقل قول های تکی اجازه ورود هیچ متغیر یا کاراکتری را به درون عبارات نمی دهند.
مثال زیر را بررسی کنید که در آن ما از a $ به عنوان یک متغیر برای ذخیره یک مقدار استفاده می کنیم و بعد از آن این مقدار را پرینت می نماییم.
1 2 3 4 5 | #!/usr/bin/perl $a = 10; print "Value of a = $a\n"; print 'Value of a = $a\n'; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 | Value of a = 10 Value of a = $a\n$ |
می توان به سادگی تمام متن های چند خطی را در پرل ذخیره نموده و یا پرینت کرد.
حتی می توان از متغیر هایی که درون “here” document قرار دارند استفاده نمود.
در زیر یک سینتکس به عنوان مثال آورده شده است.
به دقت بررسی کنید که در این سینتکس هیچ فضای خالی ای میان >> و identifier وجود نداشته باشد.
یک identifier ممکن است یک کلمه ساده و بدون اضافات و یا یک نقل قول باشد.
برای مثال ما در نمونه زیر از کلمه EOF استفاده کردیم.
اگر identifier یک نقل قول باشد در این صورت نحوه عملکرد متن درون here docoment را تعیین می کند. درست مانند اتفاقی که در نقل قول منظم یا regular quoting رخ می دهد.
یک identifier که از نوع نقل قول نیست کارکردی مشابه با نقل قول دوگانه که پیشتر در مورد آن صحبت کردیم دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/perl $a = 10; $var = <<"EOF"; This is the syntax for here document and it will continue until it encounters a EOF in the first line. This is case of double quote so variable value will be interpolated. For example value of a = $a EOF print "$var\n"; $var = <<'EOF'; This is case of single quote so variable value will be interpolated. For example value of a = $a EOF print "$var\n"; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 3 4 5 6 7 | This is the syntax for here document and it will continue until it encounters a EOF in the first line. This is case of double quote so variable value will be interpolated. For example value of a = 10 This is case of single quote so variable value will be interpolated. For example value of a = $a |
در ادامه آموزش کار با سینتکس پرل شما را با کاراکترهای فرّار در پرل آشنا می کنیم.
پرل با کمک کاراکتر (\) backslash هر کاراکتر دیگری که موجب مداخله و مشکل در کدهای ما می شوند را دور می کند.
در مثال زیر که یک نقل قول دوگانه و علامت $ را می بینید که قصد پرینت آن ها را داریم.
1 2 3 4 5 | #!/usr/bin/perl $result = "This is \"number\""; print "$result\n"; print "\$result\n"; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 | This is "number" $result |
identifier پرل متغیر، تابع، کلاس، ماژول یا دیگر object مورد استفاده را شناسایی می کند.
نام یک متغیر پرل با یک $ یا % آغاز می شود و با صفر یا سایر حروف، زیر خط ها (۰)، و ارقام ۰ تا ۹ ادامه می یابد.
پرل اجازه وررو کاراکترهای خاصی چون @، $ و٪ را به identifier ها نمی دهد.
این زبان از دسته زبان های حسّاس است.
$Manpower و $manpower هر دو identifier های متفاوتی در پرل هستند.
در این جلسه آموزش کار با سینتکس پرل را ارائه کردیم.
در جلسه بعدی آموزش کار با Data Types یا انواع داده را ارائه می نماییم.
با پی لرن همراه باشید.