עבודה עם קבצים

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

הדוגמא הבאה פותחת קובץ, קוראת את תוכנו ומדפיסה אותו על המסך:

use strict;
$file = '/etc/passwd';        # Name the file
open(INFO, $file);            # Open the file
@lines = <INFO>;              # Read it into an array
close(INFO);                  # Close the file
print @lines;                 # Print the array

הפונקציה open פותחת קובץ. הפרמטר הראשון שלה הוא handle, שם באמצעותו Perl תתייחס לקובץ בהמשך. הפרמטר השני הוא שמו של הקובץ.

הפקודה close אומרת ל-Perl שסיימנו לעבוד עם אותו קובץ.

בדוגמא פתחנו את הקובץ לקלט, אולם ניתן לפתוח את הקובץ גם לפלט, או הוספה.

נציג את התחביר הנדרש:

open(INFO, $file);      # Open for input
open(INFO, ">$file");   # Open for output
open(INFO, ">>$file");  # Open for appending
open(INFO, "<$file");   # Also open for input

אם פתחנו קובץ לפלט, נכתוב לתוכו על ידי הפונקציה print, כאשר הפרמטר הראשון יהיה ה-handle, למשל:

print INFO "This line goes to the file.\n";



ניתן לגשת אל ערוץ הקלט הסטנדרטי וערוץ הפלט הסטנדרטי בצורה הבאה:

open(INFO, '-');  # Open standard input
open(INFO, '>-'); # Open standard output

כאשר כתבנו את הביטוי @lines = <INFO>; נקרא כל הקובץ לתך המשתנה, כרשימה, וזה מכיוון שהתייחסנו לקובץ בהקשר של מערך.

אם היינו מחליפים את @lines בסקלר $line, רק שורה אחת הייתה נקראת בכל פעם. בכל מקרה כל שורה נקראת מהקובץ בשלמות כולל התו '\n'.

EOF

מאת: עודד

אופרטורים

עמוד 12!!!
מאת: עודד

אופרטורים

אין טבלת אופרטורים בעמוד!!!
מאת: MoShiKy

טעויות כתיב

אם יש לך זמן כדאי שתתקן את השגיאות הבאות במסמך:
עמ' 20- "אם זאת" => "עם זאת"
עמ' 21- "אל הרשימ" => "אל הרשימה"

EOC
שיתוף:
| עוד