מודול FileHandle ב-Perl

Mwdwl Filehandle B Perl



קיימות מספר דרכים ב-Perl ליצירה וגישה לקבצים. ניתן לפתוח קובץ לקריאה, כתיבה או עדכון בפרל באמצעות מטפל בקבצים. ניתן להשתמש במטפל בקבצים בשיטת open() בפורמט תכנות מובנה או בפורמט תכנות מונחה עצמים. ניתן להשתמש במודול FileHandle ב- Perl כדי להכריז על המטפל בקבצים כאובייקט ולהשתמש באובייקט זה כדי לפתוח קובץ ליצירה או גישה באמצעות מאפיינים ושיטות שונות של המחלקה 'FileHandle'. השימושים של כמה שיטות נפוצות של מודול FileHandle ושיטות השימוש במודול FileHandle לעבודה עם הקובץ ב-Perl מוצגים במדריך זה.

כמה שיטות שימושיות של FileHandle

כמה שיטות נפוצות של מודול FileHandle הן כדלקמן:

שיטה מַטָרָה
לאמר הוא משמש לספירת גודל הקובץ בבתים.
getc הוא משמש לקריאת כל תו בתוכן הקובץ.
לְחַפֵּשׂ הוא משמש להזזת מצביע הקובץ למיקום מסוים.
eof זה מציין את סוף הקובץ.
סגור הוא משמש לסגירת המטפל בקבצים שהוגדר קודם לכן.

דוגמאות של Perl FileHandle

שימושים שונים במודול FileHandle מוצגים בחלק זה של המדריך תוך שימוש במספר דוגמאות.







דוגמה 1: צור קובץ חדש

צור קובץ Perl עם הסקריפט הבא שיוצר קובץ חדש באמצעות מודול FileHandle. שם קובץ נלקח מהמשתמש ונבדק אם הוא קיים או לא. אם הקובץ לא קיים, הקובץ נפתח לכתיבה על ידי יצירת אובייקט של המחלקה 'FileHandle' לאחר המתנה של שנייה אחת.



#!/usr/bin/perl

להשתמש קפדני ;
להשתמש אזהרות ;
השתמש ב-5.34.0 ;
השתמש ב-FileHandle ;

#קח את שם הקובץ מהמשתמש ליצירה
הדפס 'הזן את שם הקובץ:' ;
$f שלי = <>;
chomp ( $f ) ;

#בדוק אם הקובץ כבר קיים או לא
אם ( -ה $f )
{
#הדפס הודעה אם הקובץ קיים
אמר 'קובץ כבר קיים.' ;
}

אַחֵר

{
#צור אובייקט מטפל בקבצים
$FileHandler שלי = File Handle- > חָדָשׁ ;
אמר 'כותב לתוך הקובץ...' ;
#המתן שנייה אחת
לִישׁוֹן ( 1 ) ;

#פתח את הקובץ לכתיבה
אם ( $FileHandler- > לִפְתוֹחַ ( '> $f' ) )
{
#כתוב שורת טקסט לקובץ
הדפס $FileHandler 'זו הודעת מבחן. \n זה השורה השנייה. \n ' ;
#סגור את המטפל בקבצים
$FileHandler- > סגור ;
}

}

תְפוּקָה:



לפי הפלט, הקובץ 'test.txt' לא היה קיים בעבר והקובץ הזה נוצר עם שתי שורות טקסט. לאחר מכן, הפקודה 'חתול' מבוצעת כדי לבדוק אם הקובץ נוצר בהצלחה עם התוכן או לא:





  p1-1

הסקריפט מבוצע שוב עם אותו ערך קלט והודעת 'הקובץ כבר קיים' מודפסת כאן מכיוון שקובץ 'test.txt' נוצר לפני כן.



  p1-2

דוגמה 2: קרא את תוכן הקובץ

צור קובץ Perl עם הסקריפט הבא שקורא את התוכן של קובץ באמצעות המחלקה 'FileHandle' אם הקובץ קיים. שם הקובץ נלקח מהמשתמש.

#!/usr/bin/perl

להשתמש קפדני ;
להשתמש אזהרות ;
השתמש ב-5.34.0 ;
השתמש ב-FileHandle ;

#קח את שם הקובץ מהמשתמש ליצירה
$f שלי = <>;
$f שלי = ;
chomp ( $f ) ;

#בדוק אם הקובץ כבר קיים או לא
אם ( -ה $f )
{
#פתח את הקובץ לקריאה
$FileHandler שלי = File Handle- > חָדָשׁ ( '<$f' ) ;
#הדפס את תוכן הקובץ
הדפס < $FileHandler >;
#סגור את המטפל בקבצים
סגור את $FileHandler ;
}

תְפוּקָה:

התוכן של קובץ 'test.txt' מודפס בפלט מכיוון שהוא קיים במיקום הנוכחי:

  p2

דוגמה 3: הוסף תוכן לקובץ

צור קובץ Perl עם הסקריפט הבא שמצרף את התוכן לקובץ לא ריק והדפיס את גודל הקובץ בבתים. שם הקובץ נלקח מהמשתמש. אם הקובץ קיים ומכיל את הנתונים, תוסף שורת טקסט בסוף הקובץ. אחרת, מודפסת הודעה.

#!/usr/bin/perl

להשתמש קפדני ;
להשתמש אזהרות ;
השתמש ב-5.34.0 ;
השתמש ב- FileHandle ;

#קח את שם הקובץ מהמשתמש ליצירה
הדפס 'הזן את שם הקובץ:' ;
$f שלי = <>;
chomp ( $f ) ;

#בדוק אם הקובץ כבר קיים ואינו ריק או לא
אם ( -s $f )
{


$FileHandler שלי = File Handle- > חָדָשׁ ( ' >> $f' ) ;
#הדפס את גודל הקובץ
הדפס 'גודל הקובץ הוא' . $FileHandler- > לאמר. 'בתים. \n ' ;
אמר 'מוסיף תוכן לקובץ...' ;
#המתן שנייה אחת
לִישׁוֹן ( 1 ) ;

#כתוב תוכן בסוף הקובץ
הדפס $FileHandler 'זה קו חדש. \n ' ;
#סגור את המטפל בקבצים
$FileHandler- > סגור ;
}
אַחֵר
{
אמר 'הקובץ אינו קיים.' ;
}

תְפוּקָה:

לפי הפלט, שורה חדשה מצורפת לקובץ 'test.txt' וגודל הקובץ הוא 45 בתים. לאחר מכן, הפקודה 'חתול' מבוצעת כדי לבדוק אם התוכן נוסף כראוי לקובץ או לא:

  p3-1

סיכום


מודול FileHandle הוא אחת האפשרויות של Perl לקרוא, לכתוב או להוסיף את הקבצים. שלושה שימושים שונים של מודול זה מוצגים במדריך זה תוך שימוש בדוגמאות פשוטות.