שגיאות תחביר בזמן הידור#

שגיאות שהמפענח מעלה לפני שהתוכנית רצה. שגיאת זמן הידור עוצרת את כל התוכנית: דבר אינו מתבצע, משום שלא ניתן היה להפוך את המקור ל־ops ברי־הרצה. בשונה מ־dieים בזמן ריצה, אלה אינם ניתנים ללכידה עם eval BLOCK - אך eval של מחרוזת מקור שנכשלת בהידור מדווח עליהן דרך $@:

my $code = '1 +';
eval $code;
warn "compile failed: $@" if $@;

פתרון תת־שגרות בזמן הידור#

`Undefined subroutine &%s`#

(F) המפענח פתר קריאה אל תת־שגרה בעלת שם שאינה קיימת בזמן הידור. זוהי המקבילה בזמן הידור לשגיאת זמן הריצה Undefined subroutine &%s called: ההבדל הוא מתי תת־השגרה החסרה מבחינים בה. ודאו שהמודול המגדיר נכלל באמצעות use, ושהשם מאוית נכון ומוסמך במלואו במקום שבו החבילה חשובה.

ראו גם#

  • שגיאות קטלניות כלליות - הצורה בזמן ריצה של שגיאת תת־השגרה הלא־מוגדרת.

  • תת־שגרות - הצהרה, פרוטוטיפים, והכללים שמכריעים מתי קריאה נפתרת.

  • use - מושך פנימה את המודול שמגדיר את תת־השגרה, בזמן הידור.