با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمندان به دوره آموزشی پرل Perl. در جلسه گذشته شما را با مدیریت فایل ها و کار با فایل های مختلف در پرل آشنا نمودیم. در این جلسه آموزش کار با دایرکتوری ها در پرل به علاقمندان این دوره ارائه می نماییم.
در ادامه می توانید توابع استاندارد برای استفاده از دایرکتوری را ببینید.
1 2 3 4 5 6 | opendir DIRHANDLE, EXPR # To open a directory readdir DIRHANDLE # To read a directory rewinddir DIRHANDLE # Positioning pointer to the begining telldir DIRHANDLE # Returns current position of the dir seekdir DIRHANDLE, POS # Pointing pointer to POS inside dir closedir DIRHANDLE # Closing a directory. |
در ابتدای آموزش کار با دایرکتوری ها در پرل می توانید با نمایش همه فایل ها در پرل آشنا شوید.
راه های مختلفی برای فهرست کردن تمام فایل های موجود در یک دایرکتوری خاص وجود دارد.
در ادامه از روش ساده یعنی اپراتور glob برای دریافت و فهرست کردن تمام فایل ها استفاده می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/usr/bin/perl # Display all the files in /tmp directory. $dir = "/tmp/*"; my @files = glob( $dir ); foreach (@files ) { print $_ . "\n"; } # Display all the C source files in /tmp directory. $dir = "/tmp/*.c"; @files = glob( $dir ); foreach (@files ) { print $_ . "\n"; } # Display all the hidden files. $dir = "/tmp/.*"; @files = glob( $dir ); foreach (@files ) { print $_ . "\n"; } # Display all the files from /tmp and /home directories. $dir = "/tmp/* /home/*"; @files = glob( $dir ); foreach (@files ) { print $_ . "\n"; } |
در نمونه زیر مثال دیگری را می بینید که می تواند یک دایرکتوری را باز کرده و همه فایل های موجود در درون دایرکتوری را لیست می نماید.
1 2 3 4 5 6 7 | #!/usr/bin/perl opendir (DIR, '.') or die "Couldn't open directory, $!"; while ($file = readdir DIR) { print "$file\n"; } closedir DIR; |
نمونه زیر مثال دیگری است که لیست فایل های منبع C را که ممکن است مورد استفاده قرار گیرند پرینت می نماید.
1 2 3 4 5 6 7 | #!/usr/bin/perl opendir(DIR, '.') or die "Couldn't open directory, $!"; foreach (sort grep(/^.*\.c$/,readdir(DIR))) { print "$_\n"; } closedir DIR; |
می توان از تابع mkdir برای ساخت یک دایرکتوری جدید استفاده کرد.
باید مجوز مورد نیاز برای ایجاد یک دایرکتوری را داشته باشید.
1 2 3 4 5 6 7 | #!/usr/bin/perl $dir = "/tmp/perl"; # This creates perl directory in /tmp directory. mkdir( $dir ) or die "Couldn't create $dir directory, $!"; print "Directory created successfully\n"; |
می توان از تابع rmdir برای حذف یک دایرکتوری استفاده کرد.
باید مجوز مورد نیاز برای حذف یک دایرکتوری را داشته باشید.
علاوه بر این قبل از اینکه اقدام به حذف یک دایرکتوری می نمایید، این فهرست باید خالی باشد.
1 2 3 4 5 6 7 | #!/usr/bin/perl $dir = "/tmp/perl"; # This removes perl directory from /tmp directory. rmdir( $dir ) or die "Couldn't remove $dir directory, $!"; print "Directory removed successfully\n"; |
می توانید از chdir استفاده کنید تا دایرکتوری را تغییر دهید و به یک مکان جدید ببرید.
باید مجوز مورد نیاز برای تغییر یک دایرکتوری را داشته باشید و سپس وارد دایرکتوری جدید شوید.
1 2 3 4 5 6 7 | #!/usr/bin/perl $dir = "/home"; # This changes perl directory and moves you inside /home directory. chdir( $dir ) or die "Couldn't go inside $dir directory, $!"; print "Your new location is $dir\n"; |
در این جلسه آموزشی با آموزش کار با دایرکتوری ها در پرل همراه شما بودیم.
در جلسه بعدی به نحوه مدیریت خطا ها در این زبان می پردازیم.
با پی وی لرن همراه باشید.