• 0
Hammadi2100

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

سؤال

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

17 إجابة على هذا السؤال .

  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

   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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

 
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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

تم تعديل بواسطه بن العيد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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 /\.[color="#ff0000"]pdf[/color]$/, readdir CURRENT;

أما إذا كنت تريد إظهار كل ما يحتويه المجلد من ملفات و مجلدات فعدله كما يلي

my @FoundFiles = grep /\.[color="#ff0000"]*[/color]$/, readdir CURRENT;

تم تعديل بواسطه بن العيد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

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

وليكن txt


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

في امان الله

تم تعديل بواسطه حازم مفيد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

:wink:

في امان الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

مثال

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

في امان الله :)

تم تعديل بواسطه حازم مفيد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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


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

في امان الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذا كود توليد هاشات MD5

#!/usr/bin/perl
print q(
##################################
# Cod3d BY Xss mAn #
# Con3ct [email protected] #
##################################
);
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

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

هذا كود توليد هاشات MD5

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

ربنا يوفقك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

transform.zip

تم تعديل بواسطه بن العيد
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

txt_to_xls.zip

post-91400-036801200 1355827874_thumb.pn

تم تعديل بواسطه بن العيد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .