# אפשרויות CLI pperl מקבל קבוצה קטנה של דגלי שורת פקודה. רובם תואמי `perl`; מקצתם ייחודיים ל־pperl (JIT, הקבלה, בחירת סביבת ריצה, מטמון bytecode). הרשימה הקובעת היא מה ש־`pperl --help` מדפיס; הטבלאות שלהלן מציגות את הדגלים האלה, החולצו ממקור המפרש ומוצגים כאן בכל בנייה של התיעוד. #### NOTE פלט `pperl --help` בפועל בטרמינל הוא תמיד באנגלית — הקובץ הבינארי אינו מתרגם את מחרוזות העזרה. התיעוד המתורגם מציג את אותם דגלים עם תיאורים בשפת העמוד כדי שהקוראים יוכלו לעיין בתפקיד של כל דגל; אסימוני הדגלים (`-T`, `--pp`, `--threads=N`, …) נשמרים תמיד כפי שהם. PetaPerl - סביבת ריצה של Perl 5 מהדור הבא ## שימוש ```text pperl [OPTIONS] [--] [SCRIPT [ARGS...]] pperl -e 'code' ``` ## אפשרויות תואמות Perl | דגל | תיאור | |------------------|-------------------------------------------------------------| | `-e 'code'` | מבצע one-liner (תכונות מודרניות מופעלות תמיד) | | `-Idirectory` | מוסיף תיקייה לתחילת @INC | | `-c` | בדיקת תחביר בלבד, לא מריץ | | `-w` | הפעלת אזהרות | | `-T` | מצב taint (מאולץ; בסביבת ריצה p5 בלבד — מציג אזהרה תחת –pp) | | `-t` | אזהרות taint (בסביבת ריצה p5 בלבד — מציג אזהרה תחת –pp) | | `-v` | הצגת מידע על הגרסה | | `-V` | הצגת תצורה מפורטת | | `-h, -?, --help` | הצגת הודעת עזרה זו | ## אפשרויות ייחודיות ל־pperl | דגל | תיאור | |----------------------|---------------------------------------------------------------| | `--from-json, -j` | קריאת op tree מ־stdin (פורמט JSON של B::PetaPerl) | | `--optree, -o` | קריאת op tree מ־stdin (פורמט B::Concise) | | `--stats, -s` | הצגת סטטיסטיקת ביצועים (זמן, זיכרון, ops) | | `--trace` | הפעלת מעקב ביצוע (לתשומת לב: ‎-t‎ הקצר הוא taint-warn של perl5) | | `--timeout=SECS` | קביעת timeout לביצוע בשניות (ברירת מחדל: ללא) | | `--dump-optree` | הדפסת op tree קנונית (לא מריץ) | | `--compare-bytecode` | השוואת op trees: backend של perl5 מול המנתח המקורי | | `--cache` | הפעלת מטמון bytecode (~/.pperl/cache/) | | `--flush` | ניקוי כל מטמוני ה־bytecode ויציאה | ## אפשרויות סביבת ריצה | דגל | תיאור | |--------------------------|--------------------------------------------------------| | `--pp` | שימוש בסביבת ריצה pp (מנתח תחביר ומפרש מקוריים ב־Rust) | | `--p5` | (ברירת מחדל) שימוש בסביבת ריצה p5 העצמאית | | `--no-jit` | השבתת קומפילציית JIT (פעיל כברירת מחדל) | | `--no-parallel` | השבתת הקבלה אוטומטית (פעיל כברירת מחדל) | | `--threads=N` | מספר ה־threads (ברירת מחדל: כל ה־CPU) | | `--parallel-threshold=N` | מינימום איטרציות להקבלה (ברירת מחדל: 100) | ## דוגמאות ```text pperl script.pl ``` הרצת סקריפט Perl ```text pperl -e 'say "Hello!"' ``` הרצת one-liner (say, state וכו« זמינים תמיד) ```text pperl -c script.pl ``` בדיקת תחביר הסקריפט ללא הרצה ```text pperl script.pl arg1 arg2 ``` העברת ארגומנטים לסקריפט (@ARGV) למידע נוסף, ראו: https://gl.petatech.eu/petatech/peta-perl ## משתני סביבה pperl מגדיר מספר משתני סביבה בתוך התהליך שהוא מריץ, כדי שסקריפטים יוכלו לבחון את המפרש הפועל: | משתנה | משמעות | |------------------|-------------------------------------------------------------| | `PPERL` | מחרוזת גרסה (זהה ל־`pperl -v`) | | `PPERL_FEATURES` | רשימת תכונות Cargo משולבות, מופרדות בפסיקים | | `PPERL_MODS` | זוגות `Name/version` מופרדים בפסיקים, לכל מודול מקורי | | `PPERL_RUNTIMES` | סביבות ריצה משולבות, מופרדות בפסיקים (`p5`, `pp`, או שתיהן) | | `PPERL_SHELL` | טעם של אינטגרציית shell (ריק אם תכונת `shell` כבויה) | | `PPERL_STATIC` | `yes` אם הקובץ הבינארי קושר באופן סטטי עם musl, אחרת `no` | יש להריץ `pperl -V` כדי לראות את כל הערכים עבור הקובץ הבינארי הנוכחי. ## מתי להשתמש ב־`--pp` **סביבת הריצה p5** המוגדרת כברירת מחדל היא המפרש מלא־התכונות: כל מודול זמין, JIT מופעל, מצב taint תפקודי. `--pp` בוחר את **סביבת הריצה pp** המקורית ב־Rust — אתחול מהיר יותר, קובץ בינארי קטן יותר, אך עם קבוצת מודולים מצומצמת יותר וללא JIT. יש לבחור `--pp` עבור פריסות בסגנון miniperl או כאשר המודול הספציפי הנדרש זמין בה (ראו את התג של סביבת ריצה `pp` בעמודי המודולים).