עבור לתוכן

האם אפשרי לגרום לסקריפט שנכתב בפרל לעבוד ללא פרל קומפלייר יעודי בווינדוס?

Featured Replies

פורסם

שלום,

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

כמו שVBS עובד או כל תוכנה אחרת כך שלא צריך להתקין אותה...

האם ישנה איזו שהיא דרך לבצע זאת?

פורסם

קודם כל זה לא קומפיילר, זה interpeter, וזה הבדל חשוב (:

אפשר לדמות את הסקריפט ל"הוראות", שכמובן לא שוות כלום בלי מישהו שיריץ אותן. אפשר להכניס חלק מה"מנוע" לקובץ ולקבל את מה שאתה רוצה. אני לא יודע מה המונח המקצועי לזה ב-perl אבל בפייתון קוראים לזה "Frozen Binaries" - במובן של "להקפיא" את הסקריפט.

אז חיפוש מהיר בגוגל מצא אחד- http://www.indigostar.com/perl2exe.php.

ד"א, הסיבה שקבצי vbs רצים אוטומטית כשמפעילים אותם זה כי יש להם interpeter מובנה. גם במחשבים עם perl אפשר לגרום להתנהגות כזאת כשעושים דאבל-קליק על קבצי pl.

פורסם
  • מחבר

בנוגע לאינטרפטר צודק, השעה קצת השפיעה עליי.

בכל מקרה אני בד"כ כותב סקריפטים בפרל ללינוקס/יוניקס אז אין לי בעיה...

אני לא יודע למה אבל הלינק לא עובד לי...

פורסם

גם התכנית שמתקבלת מ- perl2exe צריכה את הruntime של פרל על מנת לרוץ.

האפשרויות שלך:

1. לכתוב את התכנית בשפה מקומפלת ולשלוח להם EXE

2. לתרגם את התכנית לשפה שיש לה אינטרפרטר מובנה בחלונות

3. לבקש מהם להתקין פרל (עם הפנייה לגירסה מדוייקת שאיתה תבדוק)

4. לספק יחד עם הסקריפט שלך, runtime הכרחי של פרל שנחוץ להרצתו

אני הייתי בוחר בשלישית, זו התקנה חד פעמית ואח"כ תוכל להריץ בלי כאבי ראש

פורסם

http://www.linuxjournal.com/article/2901

זה מדריך לגבי embedding כלומר יצירת קובץ עם אינטרפטר מובנה.

יתכן זה ישקול יותר אבל אין לו דרישות קדם.

רק חלק מהמדריך רלוונטי מכיוון שהוא מנסה לשלב שני תוכנות(את האינטרפטר טספריה ליצירת קבצי אקסל).

בנוסף:

http://www.ibm.com/developerworks/linux/tutorials/l-perlscript/index.html

עוד מדריך שמסביר איך זה עובד.

פורסם

http://www.linuxjournal.com/article/2901

זה מדריך לגבי embedding כלומר יצירת קובץ עם אינטרפטר מובנה.

יתכן זה ישקול יותר אבל אין לו דרישות קדם.

רק חלק מהמדריך רלוונטי מכיוון שהוא מנסה לשלב שני תוכנות(את האינטרפטר טספריה ליצירת קבצי אקסל).

בנוסף:

http://www.ibm.com/developerworks/linux/tutorials/l-perlscript/index.html

עוד מדריך שמסביר איך זה עובד.

גם אם מכניסים את הקריאות לפרל (לפונקציות פרל) מתוך תכנית C או ++C התכנית תצטרך התקנה מלאה של הRUNTIME של פרל (ספריות, DLL-ים בחלונות, מודולים וכו'). הפתרון סובל בדיוק מאותן בעיות של perl2exe כי התכנית הסופית לא תוכל לרוץ עצמאית לגמרי (אלא אם בנו את פרל באופן סטטי והתכנית ביצעה LINK עם ספריות סטטיות של פרל. עדיין נצטרך מודולים של פרל על מנת לעבוד)

מאחר שפרל איננו מובנה בחלונות, אין ברירה, תצטרך להתקין פרל במכונות שעליהן תרצה להריץ את התכנית (או להתקין ברשת משותפת אבל שכל המכונות יבצעו מיפוי למקום של פרל ויעדכנו את הPATH)

אם התקנה של פרל איננה אופציה, תצטרך לכתוב את התכנית שלך בשפה מקומפלת, או במשהו שמובנה בחלונות (VBS BATCH וכו')

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים