אנגליתצרפתיתספרדי

סמל OnWorks

perlform - מקוון בענן

הפעל את Perlform בספק אירוח חינמי של OnWorks על אובונטו אונליין, פדורה אונליין, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זהו ביצוע הפקודה שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


perlform - פורמטים של Perl

תיאור


לפרל יש מנגנון שיעזור לך ליצור דוחות ותרשימים פשוטים. כדי להקל על זה,
Perl עוזרת לך לקודד את דף הפלט שלך קרוב לאיך שהוא ייראה כשהוא יודפס. זה
יכול לעקוב אחר דברים כמו כמה שורות יש בדף, באיזה עמוד אתה נמצא, מתי
כותרות עמודים להדפסה וכו'. מילות מפתח מושאלות מ- FORTRAN: פוּרמָט() להצהיר ו
לִכתוֹב() להוציא להורג; ראה את הערכים שלהם ב-perlfunc. למרבה המזל, הפריסה היא הרבה יותר
קריא, יותר כמו ההצהרה PRINT USING של BASIC. תחשוב על זה כעל של עני nroff(1).

פורמטים, כמו חבילות ותתי שגרות, מוכרזים במקום מבוצעים, כך שהם עשויים
להתרחש בכל נקודה בתוכנית שלך. (בדרך כלל עדיף לשמור את כולם ביחד.)
יש להם מרחב שמות משלהם מלבד כל ה"טיפוסים" האחרים בפרל. זה אומר ש
אם יש לך פונקציה בשם "Foo", זה לא אותו דבר כמו שיש לך פורמט בשם
"פו". עם זאת, שם ברירת המחדל לפורמט המשויך לאחיזה נתונה לקובץ הוא
זהה לשם של הקובץ-handle. לפיכך, תבנית ברירת המחדל עבור STDOUT נקראת
"STDOUT", ופורמט ברירת המחדל עבור filehandle TEMP נקרא "TEMP". הם פשוט נראים
אותו. הם לא.

פורמטים של רשומת פלט מוצהרים כדלקמן:

פורמט NAME =
רשימת פורמלים
.

אם השם מושמט, הפורמט "STDOUT" מוגדר. בודד "." בעמודה 1 רגיל
לסיים פורמט. FORMLIST מורכב מרצף של שורות, שכל אחת מהן עשויה להיות אחת מהן
שלושה סוגים:

1. הערה, המצוינת על ידי הצבת '#' בעמודה הראשונה.

2. שורת "תמונה" הנותנת את הפורמט של שורת פלט אחת.

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

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

@ תחילת שדה רגיל
^ התחלה של שדה מיוחד
< תו משטח עבור הצדקה שמאלית
| תו רפידה למרוכז
> תו משטח להצדקה נכונה
תו פנקס אחד עבור שדה מספרי המוצדק ימני
0 במקום # ראשון: מספר פנקס עם אפסים מובילים
. נקודה עשרונית בתוך שדה מספרי
... סיום שדה טקסט, הצג "..." כהוכחה לקיצוץ
@* שדה רוחב משתנה עבור ערך מרובה שורות
^* שדה רוחב משתנה עבור השורה הבאה של ערך מרובה שורות
~ דחק שורה כשכל השדות ריקים
~~ חזור על השורה עד למיצוי כל השדות

כל שדה בקו תמונה מתחיל ב-"@" (at) או "^" (קארט), מה שמציין מה
נקרא, בהתאמה, שדה "רגיל" או "מיוחד". בחירת דמויות הפנקס
קובע אם שדה הוא טקסטואלי או מספרי. מפעילי הטילדה אינם חלק מ-a
שדה. בואו נסתכל בפירוט על האפשרויות השונות.

טקסט שדות
אורך השדה מסופק על ידי ריפוד השדה בכמה "<", ">", או
"|" תווים לציון שדה לא מספרי עם, בהתאמה, הצדקה שמאלית,
הצדקה נכונה, או ריכוז. עבור שדה רגיל, הערך (עד הערך הראשון
שורה חדשה) נלקחת ומודפסת בהתאם להצדקה שנבחרה, תוך קיצוץ עודף
דמויות. אם תסיים שדה טקסט עם "...", שלוש נקודות יוצגו אם
הערך קטוע. ניתן להשתמש בשדה טקסט מיוחד ליצירת טקסט רב-שורתי ראשוני
מילוי בלוקים; ראה "שימוש במצב מילוי" לפרטים.

דוגמא:
פורמט STDOUT =
@<<<<<< @|||||| @>>>>>>
"שמאל", "אמצע", "ימין"
.
פלט:
שמאל באמצע ימין

מספרי שדות
שימוש ב-"#" בתור תו ריפוד מציין שדה מספרי, עם הצדקה ימנית. א
אופציונאלי "." מגדיר את מיקום הנקודה העשרונית. עם "0" (אפס) במקום ה-
הראשון "#", המספר המעוצב ירופד באפסים מובילים במידת הצורך. א
שדה מספרי מיוחד נמחק אם הערך אינו מוגדר. אם הערך המתקבל
יחרוג מהרוחב שצוין, השדה מלא ב-"#" כהוכחה להצפה.

דוגמא:
פורמט STDOUT =
@### @.### @##.### @### @### ^####
42, 3.1415, undef, 0, 10000, undef
.
פלט:
42 3.142 0.000 0 ####

השמיים שדה @* ל משתנה-רוחב רב קו טקסט
השדה "@*" יכול לשמש להדפסת ערכים מרובי שורות, לא קטועים; זה צריך (אבל
לא צריך) להופיע בפני עצמו על שורה. עדכון שורה אחרון הוא chomped off, אבל כל השאר
תווים נפלטים מילה במילה.

השמיים שדה ^* ל משתנה-רוחב שורה אחת בכל פעם טקסט
כמו "@*", זהו שדה ברוחב משתנה. הערך שסופק חייב להיות משתנה סקלרי.
פרל מכניס את השורה הראשונה (עד ל-"\n") הראשון של הטקסט בשדה, ואז חותך
מחוץ לחזית המחרוזת, כך שבפעם הבאה שהמשתנה יופנה, יותר מה
ניתן להדפיס טקסט. המשתנה יהיה לֹא ישוחזר.

דוגמא:
$text = "שורה 1\nשורה 2\nשורה 3";
פורמט STDOUT =
טקסט: ^*
$ טקסט
~~ ^*
$ טקסט
.
פלט:
טקסט: שורה 1
קו 2
קו 3

מפרט ערכים
הערכים מצוינים בשורת הפורמט הבאה באותו סדר כמו התמונה
שדות. הביטויים המספקים את הערכים חייבים להיות מופרדים בפסיקים. הם כולם
מוערך בהקשר של רשימה לפני עיבוד השורה, אז ביטוי רשימה בודד
יכול לייצר רכיבי רשימה מרובים. הביטויים עשויים להתפרס ליותר מאחד
קו אם סגור בפלטה. אם כן, סד הפתיחה חייב להיות האסימון הראשון בראשון
קַו. אם ביטוי מוערך למספר עם חלק עשרוני, ואם ה
התמונה המתאימה מציינת שהחלק העשרוני צריך להופיע בפלט (זה
הוא, כל תמונה למעט מספר תווים "#". לְלֹא "."), הדמות
המשמש עבור הנקודה העשרונית נקבע על ידי המקום הנוכחי של LC_NUMERIC אם "השתמש מקומי"
בתוקף. זה אומר שאם, למשל, סביבת זמן הריצה מתרחשת
ציין מיקום גרמני, "," ישמש במקום ברירת המחדל ".". ראה perllocale ו
"אזהרות" למידע נוסף.

שימוש למלא מצב
בשדות טקסט ה-caret מאפשר סוג של מצב מילוי. במקום ביטוי שרירותי,
הערך שסופק חייב להיות משתנה סקלרי המכיל מחרוזת טקסט. פרל שם את
החלק הבא של הטקסט לתוך השדה, ולאחר מכן חותך את החלק הקדמי של המחרוזת כך
שבפעם הבאה שמתייחסים למשתנה, ניתן להדפיס יותר מהטקסט. (כן,
המשמעות היא שהמשתנה עצמו משתנה במהלך ביצוע ה- לִכתוֹב() להתקשר, ו
לא משוחזר.) החלק הבא של הטקסט נקבע על ידי שבירת שורות גסה
אַלגוֹרִיתְם. אתה יכול להשתמש בתו החזרת עגלה ("\r") כדי לכפות מעבר שורה. אתה יכול
שנה אילו תווים חוקיים לשבור על ידי שינוי המשתנה $: (כלומר
$FORMAT_LINE_BREAK_CHARACTERS אם אתה משתמש במודול האנגלית) לרשימה של הרצוי
תווים.

בדרך כלל היית משתמש ברצף של שדות בערימה אנכית הקשורה לאותו
משתנה סקלרי להדפסת גוש טקסט. אולי תרצה לסיים את השדה האחרון עם
הטקסט "...", שיופיע בפלט אם הטקסט היה ארוך מכדי להופיע בו
שְׁלֵמוּת.

מדכא קווים איפה תעשיות שדות הם חלל ריק
שימוש בשדות אבן יכול לייצר שורות שבהן כל השדות ריקים. אתה יכול לדכא כזה
שורות על ידי הצבת תו "~" (tilde) בכל מקום בשורה. הטילדה יהיה
מתורגם לרווח בעת הפלט.

חוזר פוּרמָט קווים
אם תשים שני תווי טילדה רציפים "~~" בכל מקום בשורה, השורה תהיה
חזרו על עצמו עד שכל השדות בקו מוצו, כלומר לא מוגדר. למיוחד
(קארט) שדות טקסט זה יתרחש במוקדם או במאוחר, אבל אם אתה משתמש בשדה טקסט של ה-at
מגוון, מוטב שהביטוי שאתה מספק לא ייתן את אותו הערך בכל פעם לנצח!
("shift(@f)" היא דוגמה פשוטה שתעבוד.) אל תשתמש בשדה מספרי רגיל (at)
בשורות כאלה, כי זה לעולם לא ייעלם.

חולצות of טופס תהליך
העיבוד העליון של הטופס מטופל כברירת מחדל על ידי פורמט בעל שם זהה לזה הנוכחי
filehandle עם "_TOP" משורשר אליו. זה מופעל בראש כל עמוד. לִרְאוֹת
"כתוב" ב-perlfunc.

דוגמאות:

# דיווח על / etc / passwd פילה
פורמט STDOUT_TOP =
קובץ Passwd
שם כניסה משרד Uid Gid Home
-------------------------------------------------- ----------------
.
פורמט STDOUT =
@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<
$name, $login, $office,$uid,$gid, $home
.

# דיווח מטופס דיווח באג
פורמט STDOUT_TOP =
דיווחי שגיאות
@<<<<<<<<<<<<<<<<<<<<<<< @||| @>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
$system, $%, $date
-------------------------------------------------- ----------------
.
פורמט STDOUT =
נושא: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<
נושא $
אינדקס: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<
$index, $description
עדיפות: @<<<<<<<<<<< תאריך: @<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<< <
$priority, $date, $description
מאת: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<
$from, $description
הוקצה ל: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<
$programmner, $description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<
$תיאור
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<
$תיאור
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<
$תיאור
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<
$תיאור
~ ^<<<<<<<<<<<<<<<<<<<<<<<...
$תיאור
.

אפשר לערבב הדפס()עם לִכתוֹב()זה על אותו ערוץ פלט, אבל אתה
צריך לטפל ב-"$-" ($FORMAT_LINES_LEFT) בעצמך.

פוּרמָט משתנים
שם הפורמט הנוכחי מאוחסן במשתנה $~ ($FORMAT_NAME), ובחלק העליון הנוכחי
שם פורמט הטופס הוא ב-$^ ($FORMAT_TOP_NAME). מספר עמוד הפלט הנוכחי נשמר
ב-$% ($FORMAT_PAGE_NUMBER), ומספר השורות בדף הוא ב-$=
($FORMAT_LINES_PER_PAGE). האם לשטוף אוטומטית פלט על ידית זו מאוחסן ב-$|
($OUTPUT_AUTOFLUSH). פלט המחרוזת לפני כל ראש עמוד (למעט הראשון) הוא
מאוחסן ב-$^L ($FORMAT_FORMFEED). משתנים אלה נקבעים על בסיס נקודת אחיזה של קובץ, אז
תצטרך בחר() לתוך אחד אחר כדי להשפיע עליהם:

בחר((בחר(OUTF),
$~ = "My_Other_Format",
$^ = "My_Top_Format"
)[0]);

די מכוער, אה? עם זאת, זה ניב נפוץ, אז אל תתפלא יותר מדי כשאתה רואה את זה.
אתה יכול לפחות להשתמש במשתנה זמני כדי להחזיק את ידית הקובץ הקודמת: (זה הרבה
גישה טובה יותר באופן כללי, כי לא רק שהקריאות משתפרת, יש לך עכשיו
שלב ביניים בביטוי לשלב יחיד של ניפוי הבאגים):

$ofh = select(OUTF);
$~ = "My_Other_Format";
$^ = "My_Top_Format";
select($ofh);

אם אתה משתמש במודול האנגלית, אתה יכול אפילו לקרוא את שמות המשתנים:

השתמש באנגלית;
$ofh = select(OUTF);
$FORMAT_NAME = "My_Other_Format";
$FORMAT_TOP_NAME = "My_Top_Format";
select($ofh);

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

השתמש ב-FileHandle;
format_name OUTF "My_Other_Format";
format_top_name OUTF "My_Top_Format";

הרבה יותר טוב!

אורים


מכיוון ששורת הערכים עשויה להכיל ביטויים שרירותיים (עבור שדות ב-, לא ל-caret
שדות), אתה יכול להוציא עיבוד מתוחכם יותר לפונקציות אחרות, כמו sprintf ()
או אחד משלך. לדוגמה:

פורמט Ident =
@<<<<<<<<<<<<<<
&commify($n)
.

כדי לקבל מקצוענות אמיתיים בתחום, עשה זאת:

פורמט Ident =
יש לי כאן @.
"@"
.

כדי למרכז שורה שלמה של טקסט, בצע משהו כזה:

פורמט Ident =
@|||||||||||||||||||||||||||||||||||||||
"שורת טקסט כלשהי"
.

עם זאת, אין דרך מובנית לומר "ציף את זה לצד ימין של הדף
זה רחב." אתה צריך לציין לאן זה הולך. הנואשים באמת יכולים ליצור את שלהם
פורמט משלו תוך כדי תנועה, בהתבסס על מספר העמודות הנוכחי, ולאחר מכן eval () זה:

$format = "פורמט STDOUT = \n"
. '^'. '<' x $cols . "\n"
. '$entry' . "\n"
. "\t^" . "<" x ($cols-8) . "~~\n"
. '$entry' . "\n"
. ".\n";
הדפס $format if $Debugging;
eval $format;
למות $@ אם $@;

מה שיגרום לפורמט שנראה בערך כך:

פורמט STDOUT =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<
$כניסה
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <~~
$כניסה
.

הנה תוכנית קטנה שהיא קצת דומה fmt(1):

פורמט =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~
$_

.

$/ = '';
בעוד (<>) {
s/\s*\n\s*/ /g;
לִכתוֹב;
}

כותרות תחתונות
בעוד $FORMAT_TOP_NAME מכיל את השם של פורמט הכותרת הנוכחית, אין
המנגנון המתאים לעשות אוטומטית את אותו הדבר עבור כותרת תחתונה. לא יודע איך
פורמט גדול הולך להיות עד שתעריך שזו אחת הבעיות העיקריות. זה דלוק
רשימת TODO.

הנה אסטרטגיה אחת: אם יש לך כותרת תחתונה בגודל קבוע, תוכל לקבל כותרות תחתונות על ידי סימון
$FORMAT_LINES_LEFT לפני כל אחד לִכתוֹב() והדפיס את הכותרת התחתונה בעצמך במידת הצורך.

הנה אסטרטגיה נוספת: פתחו לעצמכם צינור, באמצעות "פתח(MYSELF, "|-")" (ראה "פתח"
ב-perlfunc) ותמיד לִכתוֹב() אל MYSELF במקום STDOUT. תנו לילדכם לעבד
עסו את STDIN שלו כדי לארגן מחדש את הכותרות העליונות והתחתונות איך שתרצו. לא נוח במיוחד,
אבל בר ביצוע.

גישה עיצוב פנימיים
לגישה ברמה נמוכה למנגנון העיצוב, אתה יכול להשתמש formline() וגישה ל$^A
(המשתנה $ACCUMULATOR) ישירות.

לדוגמה:

$str = formline <<'END', 1,2,3;
@<<< @||| @>>>
הסוף

print "וואו, רק אחסנתי '$^A' בצובר!\n";

או לעשות א כתוב() תת שגרה, שהיא ל לִכתוֹב() מה sprintf () הוא printf (), של
זֶה:

השתמש קרפיון;
כתוב משנה {
לקרקר "usage: swrite PICTURE ARGS" אלא אם כן @_;
שלי $format = shift;
$^A = "";
formline($format,@_);
החזר $^A;
}

$string = swrite(<<'END', 1, 2, 3);
בדוק אותי
@<<< @||| @>>>
הסוף
הדפס $string;

אזהרות


הנקודה הבודדת שמסיימת פורמט יכולה גם לסיים בטרם עת הודעת דואר שעוברת דרך a
דואר אינטרנט שגוי (ובהתבסס על ניסיון, הגדרה שגויה כזו היא הכלל,
לא היוצא מן הכלל). אז כששולחים קוד פורמט בדואר, עליך להכניס אותו כך
שהנקודה שמסיימת את הפורמט אינה בשוליים השמאליים; זה ימנע ניתוק SMTP.

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

אם הסביבה של תוכנית מציינת אזור LC_NUMERIC ו"השתמש מקומי" בתוקף
כאשר הפורמט מוצהר, המקום משמש לציון התו של הנקודה העשרונית
פלט מעוצב. לא ניתן לשלוט על פלט מעוצב על ידי "שימוש מקומי" בזמן שבו
לִכתוֹב() נקרא. ראה perllocale לדיון נוסף על טיפול מקומי.

בתוך מחרוזות שאמורות להיות מוצגות בשדה טקסט באורך קבוע, כל פקד
תו מוחלף ברווח. (אך זכור את המשמעות המיוחדת של "\r" בעת השימוש
מצב מילוי.) זה נעשה כדי למנוע חוסר יישור כאשר תווי בקרה "נעלמים" בחלקם
מדיה פלט.

השתמש ב-perlform באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    autpass
    autpass
    AuthPass היא סיסמת קוד פתוח
    מנהל עם תמיכה עבור פופולרי ו
    Keepass מוכח (kdbx 3.x ו-kdbx 4.x ...
    הורד Authpass
  • 2
    זאביקס
    זאביקס
    Zabbix היא ארגון פתוח בכיתה
    פתרון ניטור מבוזר במקור
    נועד לנטר ולעקוב
    ביצועים וזמינות של הרשת
    שרתים, מכשיר...
    הורד את Zabbix
  • 3
    KDiff3
    KDiff3
    מאגר זה אינו מתוחזק עוד
    ונשמר למטרות ארכיון. לִרְאוֹת
    https://invent.kde.org/sdk/kdiff3 for
    הקוד החדש ביותר ו
    https://download.kde.o...
    הורד את KDiff3
  • 4
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX הוא GUI עבור
    מטעין ה-USB של Waninkoko, מבוסס על
    libwiigui. זה מאפשר רישום ו
    משיקה משחקי Wii, משחקי Gamecube ו
    בישול ביתי ב-Wii וב-WiiU...
    הורד את USBLoaderGX
  • 5
    ציפור אש
    ציפור אש
    Firebird RDBMS מציע תכונות ANSI SQL
    & פועל על לינוקס, Windows &
    מספר פלטפורמות יוניקס. תכונות
    במקביל וביצועים מצוינים
    & כוח...
    הורד את Firebird
  • 6
    קומפוזר
    קומפוזר
    KompoZer הוא עורך HTML של Wysiwyg המשתמש
    בסיס הקוד של Mozilla Composer. כפי ש
    הפיתוח של Nvu הופסק
    בשנת 2005, KompoZer מתקן באגים רבים ו
    מוסיף f...
    הורד את KompoZer
  • עוד »

פקודות לינוקס

Ad