بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
سأحاول إن شاء الله في هذا الموضوع توفير مجموعة من الأكواد المبسطة و المتنوعة لتساعد المبرمجين بلغة البيرل في تطوير مشاريعه و تعلم هذا اللغة الثرية
السلام عليكم و رحمة الله و بركاته
الغايه من هذا الكود هو توفير أمثلة بسيطة في كتابة الحلقات و الشرط بإعتماد if, for, whileو foreach
# = = = FOR
print "\n**** This is an example of the use of the FOR loop on vector of int (example1).***\n\n";
for $i (1 , 2 , 3 , 4 , 5)
{ print "$i\n"; }
#######################
print "\n**** This is an example of the use of the FOR loop on vector of string (example 2).***\n\n";
@one_to_ten = (1 .. 10);
$top_limit = 25;
for $i (@one_to_ten , 15 , 20 .. $top_limit)
{ print "$i\n"; }
#######################
print "\n**** This is an example of the use of the FOR loop on vector of string.***\n\n";
for $friend ( ' Sami ' , ' Amir ' , ' Karim ' , ' jeber ' , ' Salem ' )
{print "$friend is my friend.\n";}
#=== WHILE
#######################
print "\n**** This is an example of the use of While.***\n\n";
$counter = 0;
while ($counter <= 5)
{
print "$counter\n";
$counter ++;
}
print "End! \n";
#######################
print "\n**** This is an example of Hash indexing using WHILE.***\n";
%friends = ( ' Sami ' , 20 , ' Amir ' , 24 , ' Karim ' , 25 , ' jeber ' , 28 , ' Salem ' , 27);
while (($key , $value) = each( % friends))
{
print $key." is ".$value." years old.\n";
}
######################
print "\n**** This is an example of Hash indexing using FOR.***\n";
for $i (keys % friends)
{ print "$i is my friend.\n"; }
#=== FOREACH
######################
print "\n**** This is an example of Hash indexing using FOREACH.***\n";
# FOREACH LOOP ON SORTED VECTOR
print "\nsorted by key\n";
foreach $key (sort keys % friends)
{
print "\t $key is $friends{$key} years old.\n";
}
print "\nsorted by value\n";
foreach $value (sort {$friends{$a} cmp $friends{$b} } keys % friends)
{
print "\t $value $friends{$value}\n";
}
######################
# Add two keys to the Hash
$friends{Hammadi} = 24;
$friends{Omar} = 37;
# Remove one key from the Hash
delete($friends{Omar});
print "\nsorted by key after the update\n";
foreach $key (sort keys % friends)
{print "\t $key is $friends{$key} years old.\n";}
#=== IF
######################
print "\n ====== Comparaison of two string \n";
$string1 = "It is a test";
$string2 = "It is serious";
if($string1 eq $string2)
{print "$string1 = $string2 \n";}
if ($string1 lt $string2)
{print " $string1 < $string2 \n";}
if ($string1 le $string2)
{print " $string1 <= $string2 \n";}
if ($string1 gt $string2)
{print " $string1 > $string2 \n";}
if ($string1 ge $string2)
{print " $string1 >= $string2 \n";}
if ($string1 ne $string2)
{print " $string1 != $string2 \n";}
print "\n ====== Comparaison of two numbers \n";
$Number1 = 5;
$Number2 = 3;
if($Number1 == $Number2)
{print "$Number1 = $Number2\n";}
if ($Number1 < $Number2)
{print "$Number1 < $Number2\n";}
if ($Number1 <= $Number2)
{print "$Number1 <= $Number2\n";}
if ($Number1 > $Number2)
{print "$Number1 > $Number2\n";}
if ($Number1 >= $Number2)
{print "$Number1 >= $Number2\n";}
if ($Number1 != $Number2)
{print "$Number1 != $Number2\n";}عند الترجمة نحصل على ما يلي:
لتجربة هذا المثال و بقية الأمثلة عليك بتحميل الActivePerl
أما إذا كان نظام التشغيل الذي تستعمله هو الويندوز فيستا فبإمكانك إستعمال هذا الإصدار
السلام عليكم و رحمة الله و بركاته
هذا الكود لإنشاء ملفات للكتابة والقراءة والتحديث
print "\n\n\t This code aims to explain how to write , read and append a file. \n\n\n";
##### Write in a file #####
print "Please choose file name to create :";
$filename =<STDIN>;
open(wFile, ">$filename");
print(wFile "Name: \n");
@Names = ("Mohamed Ali" , "Mourad Baghdadi" , "Kech" , "Souheil" , "Rochdi");
foreach $Name (@Names)
{
print(wFile "$Name\n");
# Show "Names in the screen"
print "$Name\n";
}
#Close the file
close (wFile);
##### Append the created file content #####
print "\n\n ====== Open created file in append mode.\n\n";
open(aFile , ">> $filename");
print(aFile "Jeber\n");
print(aFile "Farouk\n");
print "Jeber was added to the list\n";
print "Farouk was added to the list\n";
#Close the file
close(aFile);
####### Read the created file content #####
print "\n\n ====== Open created file in read mode.\n\n";
open(rFile , " < $filename");
while (!eof(rFile))
{
$line =<rFile>;
print "$line";
}
#Close the file
close (rFile);السلام عليكم و رحمة الله و بركاته
الهدف من هذا الكود إبراز كيفية البحث عن كلمة/جملة معينة في ملف
print"\n\n";
$filename = $ARGV[0];
# check the existance of the input file
if(-e $filename)
{ open(rFile , " < $filename"); }
else
{# return exception
die("$filename was not found.");
}
$i = 0;
while (!eof(rFile))
{ $line=<rFile>;
# check if input string exists in current line
if($line =~ /$ARGV[1]/)
{ print "$i) $line\n"; }
$i++;
}
#Close the file
close (rFile);السلام عليكــم ورحمـة الله وبركاتــة ،،
مثال لكيفية إرسال الملفات عبر FTP.
ربما ستكون هناك حاجة لإضافة المكتبة ftp.pmلمجلدات البيرل
للقيام بذلك قم بتحميل الملف و أضفه للمجلد C:\Perl\site\lib\Net
use Net::FTP;
my $filename = $ARGV[0];
my $destpath = $ARGV[1];
# How to use:
# perl ftp.pl local_File_FullPath Destination_File_FullPath
#check if input parameters were defined correctly
if (!$filename)
{ die "Missing name of file to transfer!!!\n"; }
if (! -f $filename)
{ die "File $filename not found!!!\n"; }
if (!$destpath)
{ die "Missing remote path where transfer the file!!!\n"; }
# Transfert the file
print "Transferring file $filename to YourSite:$destpath\n";
$ftpobj = Net::FTP -> new ('Your_FTP_Site_Or_RemoteServer');
$ftpobj -> login ("YourLogin","YourPAssword");
$ftpobj -> binary ();
$ftpobj -> cwd ("$destpath") || $ftpobj -> quit && die "Remote path not found!!!\n";
$ftpobj -> put ("$filename") || $ftpobj -> quit && die "Tranfer failed!!!\n";
$ftpobj -> quit;
#Report FTP file transfert status
print "file size ",-s "$filename"," bytes\n";
تم تعديل هذه المشاركة بواسطة بن العيد في 15 مارس 2009 في 16:31
السلام عليكــم ورحمـة الله وبركاتــة ،،
هذا مثال عن كيفية البحث في مسار معين عن ملفات معينة و إظهار محتوياته و تاريخ آخر تحديث.
#!/usr/bin/perl
use File::stat;
use Time::localtime;
opendir CURRENT, '.' or die "Failed to open current directory $!";
my @FoundFiles = grep /\.txt$/, readdir CURRENT;
closedir CURRENT;
foreach $FoundFile (@FoundFiles)
{
$datetimeStr = ctime(stat($FoundFile)->mtime);
print " $FoundFile was updated at $datetimeStr\n";
}إذا كنت تريد إظهار ملفات ذات إمتداد مغاير txtل فغير كما يلي
my @FoundFiles = grep /\.pdf$/, readdir CURRENT;
أما إذا كنت تريد إظهار كل ما يحتويه المجلد من ملفات و مجلدات فعدله كما يلي
my @FoundFiles = grep /\.*$/, readdir CURRENT;
تم تعديل هذه المشاركة بواسطة بن العيد في 15 مارس 2009 في 17:28
يعطيك العافيه
كما عهدناك يا ابن العيد مبدع ما شاء الله عليك
الله يزيدك علم ويعلمنا مما علمك
السلام عليكم
هذا المثال لاضافة بيانات داخل ملف ما :wink:
وليكن txt
#!usr/bin/perl
في امان الله
تم تعديل هذه المشاركة بواسطة حازم مفيد في 9 أبريل 2009 في 19:47
تستطيع اضافة خيارات الى سكربتاتك
مثال
#!usr/bin/perl
# coded by Hazem mofeed
print " (1) basket ball \n";
print " (2) football \n";
$answer=<STDIN>;
$chomp ($answer);
# ناتي هنا الى استخدام if / elsif
if ($answer eq 1) {
print " You a basket ball lover ";
}
elsif($answer eq 2){
print " You a football lover ";
}
else {
print " Bad choice ";
}
# EOFمثل ما شاهدتم السكربت يقوم بمطالبة المستخدم باختيار اما Basket ball او Football عن طريق الارقام حيث ان ال basket ball = 1 وال football = 2
وعندما يختار اي منهما يبدا عمل الشرطية if ولاحظ استخدمنا eq : = .. :wink:
في امان الله :)
تم تعديل هذه المشاركة بواسطة حازم مفيد في 10 أبريل 2009 في 21:24
السلام عليكم ورحمة الله وبركاتة
دي اداة بتمسح بعض الملفات الغير ضروريه في الويندوز
# Hazem Mofeed [ Hakxer ]
في امان الله
هذا كود توليد هاشات MD5
#!/usr/bin/perl
print q(
##################################
# Cod3d BY Xss mAn #
# Con3ct w0@live.no #
##################################
);
use Digest::MD5 qw(md5_hex);
while($i<1000)
{
open(myfile,'>>md5.txt');
print myfile md5_hex($i);
close(myfile);
$i++;
}
print "file crated xD\n\n ";بجد تسلم ايدك على الشغل الرائع ده
انا بصراحة جديد في مجال البيرل وفرضه عليا الشغل بتاعي
وبصراحة انا حبيت اللغة وشايف ان اكتر حاجة ممكن تخليك تتقن اللغة ديه ان انت تشوف اكواد كتير وتحاول تفهمها
وبجد اللي انت عملته هنا حاجة حلوة جدا
ربنا يوفقك
بارك الله فيك أخي الكريم
الله يعطيك ألف عافية يالغالي..
السلام عليكم و رحمة الله و بركاته
مثال في تحويل ملف نصيtxt إلى ملف xls
يجب أن تكون أسماء الأعمدة معرفة في الملف المدخل
تم تعديل هذه المشاركة بواسطة بن العيد في 26 أبريل 2012 في 12:42
تم تعديل هذه المشاركة بواسطة بن العيد في 18 ديسمبر 2012 في 13:56