אתה נמצא כאן יסודות השפה  »  קבצים  »  קריאה ממספר קבצים

קריאה ממספר קבצים ברצף

בפרל מאוד קל לכתוב תוכנית שמעבדת מספר משתנה של קבצים.
זה קל, בגלל שבפרל קיים אופרטור מיוחד, <> , שמבצע את כל הטיפול בקבצים בשבילנו.
תזכורת: הפקודה  $line = <infile> קוראת שורה מהקובץ שמיוצג ע"י  infile לתוך  $line .
באותה צורה, הפקודה  $line = <> גם כן קוראת שורה של קלט ומאחסנת אותו ב  $line.
איזה קלט? הקובץ שממנו מתבצעת הקריאה הוא הקובץ הראשון בשורת הפקודה של התוכנית  (command line).
נניח ששורת הפקודה של התוכנית ניראת כך:
 myprog file1 file2
המופע הראשון של <> בתוך התוכנית יפתח את הקובץ  file1 ויקרא את השורה הראשונה ממנו. שאר המופעים של <> בתוכנית ימשיכו לקרוא שורות מתוך  file1 עד אשר ייגמרו השורות בקובץ, ואז המופע הבא של <> יפתח את  file2 לקריאה ויקרא שורה ממנו. כשיגמרו השורות ב  file2 המופע הבא של <> יחזיר מחרוזת ריקה, לסמן שנגמרה הקריאה מכל הקבצים. כל שימוש נוסף ב <> יקרא שורה מהקלט הסטנדרטי. כך גם במידה ואין קבצים בארגומנטים שבשורת הפקודה.

קריאה ע"י <> לתוך מערך:
כמו בפעולת קריאה שמשתמשת במשתנה קובץ, גם עם <> ניתן לבצע את הקריאה לתוך מערך. פעולה כזו תקרא את כל התוכן מכל הקבצים לתוך מערך אחד כשכל שורה מאוחסנת באיבר שונה במערך.
! שימו לב - קריאה ע"י <> לתוך מערך עלולה ליצור מערך מאוד גדול, ולהוביל לגלישת זיכרון. לכן יש להשתמש בפעולה זו בזהירות רבה!









להוספת תגובה, אנא התחברו לדרכונט.