الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مكتبة أكواد البيرل: Perl

مثبّت
بدأه بن العيد في 2 مارس 2008 · 17 رد · 10,098 مشاهدة · في لغة Perl
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

سأحاول إن شاء الله في هذا الموضوع توفير مجموعة من الأكواد المبسطة و المتنوعة لتساعد المبرمجين بلغة البيرل في تطوير مشاريعه و تعلم هذا اللغة الثرية

#2

السلام عليكم و رحمة الله و بركاته

الغايه من هذا الكود هو توفير أمثلة بسيطة في كتابة الحلقات و الشرط بإعتماد 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";}

عند الترجمة نحصل على ما يلي:

post-91400-1204462109_thumb.jpg

post-91400-1204462205_thumb.jpg

لتجربة هذا المثال و بقية الأمثلة عليك بتحميل الActivePerl

أما إذا كان نظام التشغيل الذي تستعمله هو الويندوز فيستا فبإمكانك إستعمال هذا الإصدار

Loops.zip

#3

السلام عليكم و رحمة الله و بركاته

هذا الكود لإنشاء ملفات للكتابة والقراءة والتحديث

   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);

post-91400-1204463356_thumb.jpg

FilesMgr.zip

#4

السلام عليكم و رحمة الله و بركاته

الهدف من هذا الكود إبراز كيفية البحث عن كلمة/جملة معينة في ملف

 
 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);

post-91400-1204464171_thumb.jpg

FileParser.zip

#5

السلام عليكــم ورحمـة الله وبركاتــة ،،

مثال لكيفية إرسال الملفات عبر 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

#6

السلام عليكــم ورحمـة الله وبركاتــة ،،

هذا مثال عن كيفية البحث في مسار معين عن ملفات معينة و إظهار محتوياته و تاريخ آخر تحديث.

post-91400-1237127075_thumb.png

 
#!/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

#7

يعطيك العافيه

كما عهدناك يا ابن العيد مبدع ما شاء الله عليك

الله يزيدك علم ويعلمنا مما علمك

#8

السلام عليكم

هذا المثال لاضافة بيانات داخل ملف ما :wink:

وليكن txt


my $data="im Hazem Mofeed";
open(MYFILE,'>>file.txt'); # تقدر تغير txt لاي امتداد
print MYFILE $data; # وهنا هنكتب القيمه اللي في المتغير data داخل الملف
close(MYFILE); #end of code
#!usr/bin/perl

في امان الله

تم تعديل هذه المشاركة بواسطة حازم مفيد في 9 أبريل 2009 في 19:47

tvquran_7.gif

Secur1ty-Area

#9

السلام عليكــم ورحمـة الله وبركاتــه ،،

open(MYFILE,'>>file.txt'); # تقدر تغير txt لاي امتداد

open(MYFILE,'>>file.txt') or die " File not found."; # تقدر تغير txt لاي امتداد

:wink:

في امان الله

#10

تستطيع اضافة خيارات الى سكربتاتك

مثال

#!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

tvquran_7.gif

Secur1ty-Area

#11

السلام عليكم ورحمة الله وبركاتة

دي اداة بتمسح بعض الملفات الغير ضروريه في الويندوز


print "Delete Unused File from Your System\n\n";
system("del c:\\windows\\temp\\*.*");
system("del c:\\windows\\prefetch\\*.*");
# Hazem Mofeed [ Hakxer ]

في امان الله

tvquran_7.gif

Secur1ty-Area

#12

هذا كود توليد هاشات 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 ";
1
#13

السلام عليكــم ورحمـة الله وبركاتــه ،،

اقتباس
هذا كود توليد هاشات MD5

#14

بجد تسلم ايدك على الشغل الرائع ده

انا بصراحة جديد في مجال البيرل وفرضه عليا الشغل بتاعي

وبصراحة انا حبيت اللغة وشايف ان اكتر حاجة ممكن تخليك تتقن اللغة ديه ان انت تشوف اكواد كتير وتحاول تفهمها

وبجد اللي انت عملته هنا حاجة حلوة جدا

ربنا يوفقك

#15

بارك الله فيك أخي الكريم

#16

الله يعطيك ألف عافية يالغالي..

#17

السلام عليكم و رحمة الله و بركاته

مثال في تحويل ملف نصيtxt إلى ملف xls

يجب أن تكون أسماء الأعمدة معرفة في الملف المدخل

transform.zip

تم تعديل هذه المشاركة بواسطة بن العيد في 26 أبريل 2012 في 12:42

1
#18

ملاحظات؟ أو هل هناك أكواد مطلوبة أو أمثلة معينة؟

txt_to_xls.zip

post-91400-036801200 1355827874_thumb.pn

المرفقات
printsrc.PNG

تم تعديل هذه المشاركة بواسطة بن العيد في 18 ديسمبر 2012 في 13:56

مواضيع مشابهة