وحدة FileHandle في بيرل

Whdt Filehandle Fy Byrl



توجد طرق متعددة في Perl لإنشاء الملفات والوصول إليها. يمكن فتح ملف للقراءة أو الكتابة أو التحديث في Perl باستخدام معالج الملفات. يمكن استخدام معالج الملف في طريقة open() بتنسيق برمجة منظمة أو تنسيق برمجة موجهة للكائنات. يمكن استخدام وحدة FileHandle في Perl لإعلان معالج الملف ككائن واستخدام هذا الكائن لفتح ملف لإنشاء أو الوصول إليه باستخدام خصائص وأساليب مختلفة لفئة 'FileHandle'. يتم عرض استخدامات بعض الطرق الشائعة لوحدة FileHandle وطرق استخدام وحدة FileHandle للعمل مع الملف في Perl في هذا البرنامج التعليمي.

بعض الطرق المفيدة لـ FileHandle

بعض الطرق الشائعة الاستخدام لوحدة FileHandle هي كما يلي:

طريقة غاية
يخبر يتم استخدامه لحساب حجم الملف بالبايت.
getc يتم استخدامه لقراءة كل حرف من محتوى الملف.
يطلب يتم استخدامه لتحريك مؤشر الملف إلى موضع معين.
eof يشير إلى نهاية الملف.
يغلق يتم استخدامه لإغلاق معالج الملف المحدد مسبقًا.

أمثلة على التعامل مع ملف بيرل

يتم عرض الاستخدامات المختلفة لوحدة FileHandle في هذا الجزء من البرنامج التعليمي باستخدام أمثلة متعددة.







المثال 1: إنشاء ملف جديد

قم بإنشاء ملف Perl باستخدام البرنامج النصي التالي الذي يقوم بإنشاء ملف جديد باستخدام وحدة FileHandle. يتم أخذ اسم الملف من المستخدم والتحقق مما إذا كان موجودًا أم لا. إذا كان الملف غير موجود، فسيتم فتح الملف للكتابة عن طريق إنشاء كائن من فئة 'FileHandle' بعد الانتظار لمدة ثانية واحدة.



#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;
استخدم FileHandle ;

# خذ اسم الملف من المستخدم لإنشائه
مطبعة 'أدخل اسم الملف:' ;
بلدي $f = <>;
أقضم بصوت عالي ( ) ;

# تحقق مما إذا كان الملف موجودًا بالفعل أم لا
لو ( -e $f )
{
# اطبع رسالة في حالة وجود الملف
يقول 'الملف موجود بالفعل.' ;
}

آخر

{
# إنشاء كائن معالج الملف
بلدي $FileHandler = معالج الملف- > جديد ;
يقول 'الكتابة في الملف...' ;
#انتظر ثانية واحدة
ينام ( 1 ) ;

#افتح الملف للكتابة
لو ( $FileHandler- > يفتح ( '> $ف' ) )
{
#اكتب سطرًا من النص في الملف
مطبعة $FileHandler 'إنها رسالة اختبار. وهو السطر الثاني. ' ;
#أغلق معالج الملف
$FileHandler- > يغلق ;
}

}

انتاج:



وفقًا للإخراج، فإن ملف 'test.txt' لم يكن موجودًا من قبل ويتم إنشاء هذا الملف بسطرين من النص. بعد ذلك، يتم تنفيذ الأمر 'cat' للتحقق مما إذا كان الملف قد تم إنشاؤه بنجاح بالمحتوى أم لا:





  ص1-1

يتم تنفيذ البرنامج النصي مرة أخرى بنفس قيمة الإدخال وتتم طباعة رسالة 'الملف موجود بالفعل' هنا لأنه تم إنشاء ملف 'test.txt' من قبل.



  ص1-2

مثال 2: قراءة محتوى الملف

قم بإنشاء ملف Perl باستخدام البرنامج النصي التالي الذي يقرأ محتوى الملف باستخدام فئة 'FileHandle' إذا كان الملف موجودًا. يتم أخذ اسم الملف من المستخدم.

#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;
استخدم FileHandle ;

# خذ اسم الملف من المستخدم لإنشائه
بلدي $f = <>;
بلدي $f = ;
أقضم بصوت عالي ( ) ;

# تحقق مما إذا كان الملف موجودًا بالفعل أم لا
لو ( -e $f )
{
#افتح الملف للقراءة
بلدي $FileHandler = معالج الملف- > جديد ( '<$ف' ) ;
# طباعة محتوى الملف
مطبعة < $FileHandler
#أغلق معالج الملف
أغلق $FileHandler ;
}

انتاج:

تتم طباعة محتوى ملف 'test.txt' في الإخراج لأنه موجود في الموقع الحالي:

  p2

المثال 3: إلحاق محتوى بملف

قم بإنشاء ملف Perl باستخدام البرنامج النصي التالي الذي يقوم بإلحاق المحتوى بملف غير فارغ وطباعة حجم الملف بالبايت. يتم أخذ اسم الملف من المستخدم. إذا كان الملف موجودًا ويحتوي على البيانات، تتم إضافة سطر من النص في نهاية الملف. وبخلاف ذلك، تتم طباعة رسالة.

#!/usr/bin/Perl

استخدام صارم ;
يستخدم تحذيرات ;
استخدم 5.34.0 ;
استخدم FileHandle ;

# خذ اسم الملف من المستخدم لإنشائه
مطبعة 'أدخل اسم الملف:' ;
بلدي $f = <>;
أقضم بصوت عالي ( ) ;

#Check ما إذا كان الملف موجودًا بالفعل وغير فارغ أم لا
لو ( -س $ف )
{


بلدي $FileHandler = معالج الملف- > جديد ( ' >> $ف' ) ;
# اطبع حجم الملف
مطبعة 'حجم الملف هو' . $FileHandler- > يخبر. 'بايت. ' ;
يقول 'جارٍ إلحاق المحتوى بالملف...' ;
#انتظر ثانية واحدة
ينام ( 1 ) ;

#اكتب المحتوى في نهاية الملف
مطبعة $FileHandler 'إنه خط جديد. ' ;
#أغلق معالج الملف
$FileHandler- > يغلق ;
}
آخر
{
يقول 'الملف غير موجود.' ;
}

انتاج:

وفقًا للإخراج، يتم إلحاق سطر جديد بملف “test.txt” وحجم الملف 45 بايت. بعد ذلك، يتم تنفيذ الأمر 'cat' للتحقق مما إذا كان المحتوى قد تم إضافته بشكل صحيح إلى الملف أم لا:

  p3-1

خاتمة


تعد وحدة FileHandle أحد خيارات Perl لقراءة الملفات أو كتابتها أو إلحاقها. يتم عرض ثلاثة استخدامات مختلفة لهذه الوحدة في هذا البرنامج التعليمي باستخدام أمثلة بسيطة.