انگلیسیفرانسویاسپانیایی

فاویکون OnWorks

perlform - آنلاین در ابر

اجرای perlform در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور perlform است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


perlform - فرمت های پرل

شرح


پرل مکانیزمی دارد که به شما کمک می کند تا گزارش ها و نمودارهای ساده تهیه کنید. برای تسهیل این امر،
پرل به شما کمک می کند تا صفحه خروجی خود را نزدیک به ظاهر آن در هنگام چاپ کدنویسی کنید. آی تی
می تواند مواردی مانند تعداد خطوط در یک صفحه، چه صفحه ای و چه زمانی را ردیابی کند
هدرهای صفحه چاپ و غیره. کلمات کلیدی از FORTRAN به عاریت گرفته شده اند: قالب () برای اعلام و
نوشتن() برای اجرای؛ ورودی های آنها را در perlfunc ببینید. خوشبختانه، طرح بسیار بیشتر است
خوانا، بیشتر شبیه عبارت PRINT USING BASIC است. به آن مثل یک مرد فقیر فکر کنید ناگهان(1).

فرمت‌ها، مانند بسته‌ها و زیر روال‌ها، به جای اجرا، اعلام می‌شوند، بنابراین ممکن است
در هر نقطه از برنامه شما رخ می دهد. (معمولاً بهتر است همه آنها را با هم نگه دارید.)
آنها فضای نام خود را جدا از همه "نوع" های دیگر در Perl دارند. این به این معنی است که
اگر تابعی به نام "Foo" دارید، با فرمت نامگذاری شده یکسان نیست
"فو". با این حال، نام پیش‌فرض برای فرمت مرتبط با یک filehandle داده شده است
همانند نام فایل هندل. بنابراین، فرمت پیش فرض STDOUT نامگذاری شده است
"STDOUT"، و فرمت پیش‌فرض TEMP filehandle "TEMP" نام دارد. آنها فقط نگاه می کنند
یکسان. آنها نیستند.

فرمت های رکورد خروجی به شرح زیر اعلام می شود:

فرمت NAME =
FORMLIST
.

اگر نام حذف شود، قالب "STDOUT" تعریف می شود. تک "." در ستون 1 استفاده می شود
یک قالب را خاتمه دهید FORMLIST متشکل از دنباله ای از خطوط است که هر کدام ممکن است یکی از آنها باشد
سه نوع:

1. یک نظر که با قرار دادن "#" در ستون اول نشان داده می شود.

2. یک خط "تصویر" که فرمت یک خط خروجی را می دهد.

3. یک خط آرگومان که مقادیری را برای اتصال به خط تصویر قبلی فراهم می کند.

خطوط تصویر حاوی تعاریف میدان خروجی است که با متن تحت اللفظی آمیخته شده است. اینها
خطوط تحت هیچ نوع درونیابی متغیر نیستند. تعاریف میدانی ساخته شده است
از مجموعه ای از کاراکترها، برای شروع و گسترش یک فیلد به عرض دلخواه آن. این هست
مجموعه کامل کاراکترها برای تعاریف فیلد:

@ شروع فیلد منظم
^ شروع فیلد ویژه
< کاراکتر پد برای توجیه سمت چپ
| کاراکتر پد برای وسط
> کاراکتر پد برای توجیه درست
# کاراکتر پد برای یک فیلد عددی با توجیه سمت راست
0 به جای # اول: شماره صفحه با صفرهای ابتدایی
. نقطه اعشار در یک فیلد عددی
... یک فیلد متنی را خاتمه دهید، "..." را به عنوان مدرک برش نشان دهید
فیلد عرض متغیر @* برای مقدار چند خطی
فیلد عرض متغیر ^* برای خط بعدی یک مقدار چند خطی
~ خط را با تمام فیلدها خالی کنید
~~ خط را تکرار کنید تا تمام فیلدها تمام شود

هر فیلد در یک خط تصویر با "@" (at) یا "^" (caret) شروع می شود، که نشان می دهد چه چیزی
ما به ترتیب یک فیلد "معمولی" یا "ویژه" می نامیم. انتخاب شخصیت های پد
متنی یا عددی بودن یک فیلد را تعیین می کند. عملگرهای tilde بخشی از a نیستند
رشته. بیایید به احتمالات مختلف با جزئیات نگاه کنیم.

متن زمینه
طول فیلد با اضافه کردن فیلد با چند "<"، ">"، یا تامین می شود
"|" کاراکترهایی برای تعیین یک فیلد غیر عددی با توجیه سمت چپ،
توجیه درست یا مرکزیت دادن برای یک فیلد معمولی، مقدار (تا اولین
newline) با توجه به توجیه انتخاب شده، برش مازاد برداشته و چاپ می شود
شخصیت ها. اگر یک فیلد متنی را با "..." خاتمه دهید، سه نقطه نشان داده می شود
مقدار کوتاه شده است ممکن است از یک فیلد متنی خاص برای انجام متن چند خطی ابتدایی استفاده شود
پر کردن بلوک؛ برای جزئیات بیشتر به "استفاده از حالت پر کردن" مراجعه کنید.

مثال:
فرمت STDOUT =
@<<<<<< @|||||| @>>>>>>
"چپ"، "وسط"، "راست"
.
خروجی:
چپ وسط راست

عددی زمینه
استفاده از "#" به عنوان یک کاراکتر padding یک فیلد عددی را با توجیه درست مشخص می کند. یک
اختیاری "." موقعیت نقطه اعشار را مشخص می کند. با یک "0" (صفر) به جای
اول "#"، عدد فرمت شده با صفرهای اول در صورت لزوم پر می شود. آ
اگر مقدار تعریف نشده باشد، فیلد عددی ویژه خالی می شود. اگر مقدار حاصله
از عرض مشخص شده بیشتر می شود، فیلد با "#" به عنوان شواهد سرریز پر شده است.

مثال:
فرمت STDOUT =
@### @.### @##.### @### @### ^####
42, 3.1415, undef, 0, 10000, undef
.
خروجی:
42 3.142 0.000 0 ####

La میدان @* برای متغیر-عرض چند خطی متن
فیلد "@*" را می توان برای چاپ مقادیر چند خطی و غیرقطعی استفاده کرد. باید (اما
لازم نیست) به خودی خود در یک خط ظاهر می شود. یک خوراک خط نهایی قطع می شود، اما همه چیزهای دیگر
کاراکترها به کلمه منتشر می شوند.

La میدان ^* برای متغیر-عرض یک خط در یک زمان متن
مانند "@*"، این یک فیلد با عرض متغیر است. مقدار ارائه شده باید یک متغیر اسکالر باشد.
پرل اولین خط (تا اولین "\n") متن را در فیلد قرار می دهد و سپس برش می دهد.
از جلوی رشته جدا کنید تا دفعه بعد که متغیر به آن ارجاع داده شود، تعداد بیشتری از
متن قابل چاپ است متغیر خواهد نه ترمیم شود

مثال:
$text = "خط 1\nخط 2\nخط 3";
فرمت STDOUT =
متن: ^*
متن $
~~ ^*
متن $
.
خروجی:
متن: خط 1
خط 2
خط 3

تعیین ارزش‌ها
مقادیر به همان ترتیب تصویر در خط فرمت زیر مشخص می شوند
زمینه های. عباراتی که مقادیر را ارائه می دهند باید با کاما از هم جدا شوند. همه آنها هستند
قبل از اینکه خط پردازش شود در یک زمینه لیست ارزیابی می شود، بنابراین یک عبارت لیست واحد
می تواند چندین عنصر لیست را تولید کند. عبارات ممکن است در بیش از یک مورد پخش شوند
خط اگر در پرانتز محصور شود. اگر چنین است، بریس باز باید اولین نشانه در اول باشد
خط اگر یک عبارت به عددی با قسمت اعشاری ارزیابی شود، و اگر
تصویر مربوطه مشخص می کند که قسمت اعشاری باید در خروجی ظاهر شود (که
هر تصویری به جز چندین کاراکتر "#" است بدون یک ".") تعبیه شده، شخصیت
در صورتی که برای نقطه اعشار استفاده می‌شود، بوسیله محلی فعلی LC_NUMERIC تعیین می‌شود.
در حال اجرا است. این بدان معنی است که، برای مثال، اگر محیط زمان اجرا اتفاق بیفتد
یک زبان آلمانی را مشخص کنید، "" به جای پیش فرض "." استفاده خواهد شد. رجوع به پرلوکال و
"هشدارها" برای اطلاعات بیشتر.

با استفاده از پر کردن حالت
در فیلدهای متنی، caret نوعی حالت پر کردن را فعال می‌کند. به جای یک عبارت دلخواه،
مقدار ارائه شده باید یک متغیر اسکالر باشد که شامل یک رشته متنی باشد. پرل قرار می دهد
قسمت بعدی متن را در فیلد قرار دهید، و سپس قسمت جلوی رشته را برش دهید
که دفعه بعد که به متغیر ارجاع داده شد، می توان متن بیشتری را چاپ کرد. (آره،
این بدان معنی است که خود متغیر در حین اجرای آن تغییر می کند نوشتن() تماس بگیرید، و
بازیابی نمی‌شود.) بخش بعدی متن با یک خط‌شکن خام تعیین می‌شود
الگوریتم می‌توانید از کاراکتر بازگشت ("\r") برای اجبار شکستن خط استفاده کنید. تو می توانی
با تغییر متغیر $، کاراکترهای قانونی را تغییر دهید: (این است
$FORMAT_LINE_BREAK_CHARACTERS اگر از ماژول انگلیسی استفاده می‌کنید) فهرستی از موارد دلخواه
کاراکتر باشد.

به طور معمول شما از دنباله ای از فیلدها در یک پشته عمودی مرتبط با همان استفاده می کنید
متغیر اسکالر برای چاپ یک بلوک از متن. ممکن است بخواهید قسمت نهایی را با آن به پایان برسانید
متن "..."، که در صورت طولانی بودن متن در خروجی ظاهر می شود
تمامیت

سرکوبگر خطوط جایی که همه زمینه هستند خالی
استفاده از فیلدهای Caret می تواند خطوطی را ایجاد کند که در آن همه فیلدها خالی هستند. شما می توانید چنین چیزی را سرکوب کنید
خطوط با قرار دادن یک کاراکتر "~" (tilde) در هر نقطه از خط. جزر و مد خواهد بود
پس از خروجی به یک فاصله ترجمه شده است.

تکرار شونده قالب خطوط
اگر دو کاراکتر tilde به هم پیوسته "~~" را در هر جایی در یک خط قرار دهید، این خط خواهد بود.
تا زمانی که تمام فیلدهای روی خط تمام شود، یعنی تعریف نشده تکرار شود. برای خاص
فیلدهای متنی (caret) دیر یا زود این اتفاق می افتد، اما اگر از یک فیلد متنی at استفاده کنید
تنوع، عبارتی که شما عرضه می کنید بهتر است برای همیشه ارزش یکسانی نداشته باشد!
("shift(@f)" یک مثال ساده است که کار می کند.) از فیلد عددی معمولی (at) استفاده نکنید
در چنین خطوطی، زیرا هرگز خالی نخواهد شد.

بالا of فرم پردازش
پردازش بالای فرم به طور پیش فرض توسط قالبی با همان نام فعلی انجام می شود
فایل handle با "_TOP" به آن الحاق شده است. در بالای هر صفحه فعال می شود. دیدن
"نوشتن" در perlfunc.

مثال:

# گزارشی در مورد / etc / passwd پرونده
فرمت STDOUT_TOP =
فایل Passwd
نام ورود دفتر Uid Gid خانه
-------------------------------------------------- ----------------
.
فرمت STDOUT =
@<<<<<<<<<<<<<<<<<<@||||||| @<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
$name، $login، $office، $uid، $gid، $home
.

# گزارشی از فرم گزارش اشکال
فرمت STDOUT_TOP =
گزارش اشکال
@<<<<<<<<<<<<<<<<<<<<<<<<@||| @>>>>>>>>>>>>>>>>>>>>>>>>
$system، $%، $date
-------------------------------------------------- ----------------
.
فرمت STDOUT =
موضوع: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<
موضوع $
فهرست: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<
$index، $description
اولویت: @<<<<<<<<<<< تاریخ: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <
$priority، $date، $description
از: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<
$from، $description
اختصاص داده شده به: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<
$programmer، $description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$description
~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<...
$description
.

امکان مخلوط کردن وجود دارد چاپ()s با نوشتن()در همان کانال خروجی است، اما شما این کار را خواهید کرد
باید "$-" ($FORMAT_LINES_LEFT) را خودتان مدیریت کنید.

قالب متغیر
نام قالب فعلی در متغیر $~ ($FORMAT_NAME) و بالای فعلی ذخیره می‌شود
نام قالب فرم در $^ ($FORMAT_TOP_NAME) است. شماره صفحه خروجی فعلی ذخیره می شود
به $% ($FORMAT_PAGE_NUMBER)، و تعداد خطوط صفحه بر حسب $ است
($FORMAT_LINES_PER_PAGE). خروجی فلاش خودکار روی این دسته در $| ذخیره می شود
($OUTPUT_AUTOFLUSH) خروجی رشته قبل از هر صفحه (به جز صفحه اول) است
ذخیره شده در $^L ($FORMAT_FORMFEED). این متغیرها بر اساس هر فایل دسته تنظیم می شوند، بنابراین
شما نیاز دارید انتخاب کنید() به یکی دیگر برای تأثیرگذاری بر آنها:

select((انتخاب(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";

خیلی بهتر!

NOTES


زیرا خط مقادیر ممکن است حاوی عبارات دلخواه باشد (برای در فیلدها، نه caret
فیلدها)، می‌توانید پردازش پیچیده‌تری را برای عملکردهای دیگر مانند sprintf()
یا یکی از خودتان مثلا:

فرمت شناسه =
@<<<<<<<<<<<<<<
&commify($n)
.

برای دریافت واقعی at یا caret در این زمینه، این کار را انجام دهید:

فرمت شناسه =
من اینجا یک @ دارم.
"@"
.

برای وسط یک خط کامل متن، این کار را انجام دهید:

فرمت شناسه =
@||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"چند خط متن"
.

هیچ راه داخلی برای گفتن "این را به سمت راست صفحه شناور کنید، وجود ندارد
گسترده است." شما باید مشخص کنید که کجا می رود. افراد واقعاً ناامید می توانند آنها را ایجاد کنند
قالب خود را در پرواز، بر اساس تعداد فعلی ستون، و سپس eval() آن:

$format = "قالب STDOUT = \n"
. '^'. '<' x $cols . "\n"
. '$entry' . "\n"
. "\t^" . "<" x ($cols-8). "~~\n"
. '$entry' . "\n"
. ".\n"؛
چاپ فرمت $ در صورت اشکال زدایی $;
eval $format;
بمیر $@ اگر $@;

که فرمتی شبیه به این را ایجاد می کند:

فرمت STDOUT =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<> <<<<<<<<
$ ورود
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<> <~~
$ ورود
.

در اینجا یک برنامه کوچک است که تا حدودی شبیه است fmt(1):

قالب =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~~
$_

.

$/ = '';
در حالی که (<>) {
s/\s*\n\s*/ /g;
نوشتن؛
}

پاورقی ها
در حالی که $FORMAT_TOP_NAME حاوی نام قالب فعلی سرصفحه است، وجود ندارد
مکانیسم مربوطه برای انجام خودکار همان کار برای فوتر. ندانستن چگونه
یک قالب بزرگ تا زمانی که ارزیابی نکنید یکی از مشکلات اصلی است. روشن است
فهرست کارها.

در اینجا یک استراتژی وجود دارد: اگر یک فوتر با اندازه ثابت دارید، می توانید با بررسی پاورقی دریافت کنید
$FORMAT_LINES_LEFT قبل از هر کدام نوشتن() و در صورت لزوم فوتر را خودتان چاپ کنید.

در اینجا یک استراتژی دیگر وجود دارد: با استفاده از "open(MYSELF, "|-")" یک لوله برای خود باز کنید (به "باز کردن" مراجعه کنید.
در perlfunc) و همیشه نوشتن() به جای STDOUT به خودم. از فرزندتان بخواهید که پردازش کند
STDIN آن را ماساژ دهید تا سرصفحه ها و پاورقی ها را هر طور که دوست دارید مرتب کنید. خیلی راحت نیست،
اما شدنی

دسترسی به قالب بندی داخلی
برای دسترسی سطح پایین به مکانیسم قالب بندی، می توانید از آن استفاده کنید فرم لاین() و به $^A دسترسی داشته باشید
(متغیر $ACCUMULATOR) به طور مستقیم.

مثلا:

$str = خط فرم <<'پایان', 1,2,3;
@<<< @||| @>>>
END

چاپ "وای، من فقط "$^A" را در accumulator ذخیره کردم!\n";

یا برای ساختن نوشتن () زیر برنامه، که به نوشتن() چی sprintf() به printf()، انجام دادن
این:

استفاده از کپور;
زیر نوشتن {
croak "usage: swrite PICTURE ARGS" مگر اینکه @_;
my $format = shift;
$^A = "";
فرم لاین ($format,@_);
بازگشت $^A;
}

$string = swrite(<<'END', 1, 2, 3);
من را بررسی کنید
@<<< @||| @>>>
END
چاپ $string;

هشدارها


نقطه‌ای که به یک قالب پایان می‌دهد نیز می‌تواند پیش از موعد به پیام ایمیلی که از طریق a ارسال می‌شود پایان دهد
ارسال کننده اینترنتی اشتباه پیکربندی شده (و بر اساس تجربه، چنین پیکربندی نادرستی یک قانون است،
استثنا نیست). بنابراین هنگام ارسال کد قالب از طریق پست، باید آن را به این صورت تورفتگی کنید
که نقطه پایان فرمت در حاشیه سمت چپ نیست. این از قطع SMTP جلوگیری می کند.

متغیرهای لغوی (که با "my" اعلام شده اند) در قالب قابل مشاهده نیستند مگر اینکه قالب
در محدوده متغیر واژگانی اعلام می شود.

اگر محیط برنامه یک منطقه LC_NUMERIC را مشخص کند و "استفاده از محلی" در کار باشد
هنگامی که فرمت اعلام می شود، محلی برای تعیین کاراکتر نقطه اعشار در آن استفاده می شود
خروجی فرمت شده خروجی قالب‌بندی شده را نمی‌توان با «استفاده از محلی» در آن زمان کنترل کرد
نوشتن() نامیده میشود. برای بحث بیشتر در مورد مدیریت محلی به perllocale مراجعه کنید.

در رشته هایی که قرار است در یک فیلد متنی با طول ثابت نمایش داده شوند، هر کنترل
کاراکتر با یک فاصله جایگزین می شود. (اما معنی خاص "\r" را هنگام استفاده به خاطر داشته باشید
حالت پر کردن.) این کار برای جلوگیری از ناهماهنگی زمانی که کاراکترهای کنترل در برخی از آنها "ناپدید می شوند" انجام می شود
رسانه خروجی

با استفاده از خدمات onworks.net از perlform آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player یک پخش کننده رسانه رایگان است
    نرم افزار، بخشی مبتنی بر WMP و VLC. این
    پخش کننده به سبک مینیمالیستی است، با
    بیش از ده رنگ تم، و همچنین می توانید
    ب ...
    AstrOrzPlayer را دانلود کنید
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV بدون ADDON برای XBMC/
    Kodi que Permite disponer de un
    رمزگشایی خدمات IPTV
    Movistar integrado en uno de los
    مراکز رسانه ای ما...
    دانلود movistartv
  • 3
    کد :: بلوک
    کد :: بلوک
    کد::Blocks یک منبع باز و رایگان است،
    کراس پلتفرم C، C++ و Fortran IDE
    ساخته شده برای پاسخگویی به بیشترین نیازها
    از کاربران آن بسیار طراحی شده است
    تمدید می کند ...
    کد دانلود::Blocks
  • 4
    در میان
    در میان
    در میان یا رابط پیشرفته Minecraft
    و Data/Structure Tracking ابزاری برای
    نمای کلی یک Minecraft را نمایش دهید
    جهان، بدون اینکه واقعاً آن را ایجاد کند. آی تی
    می توان ...
    دانلود در میان
  • 5
    MSYS2
    MSYS2
    MSYS2 مجموعه ای از ابزارها و
    کتابخانه ها به شما یک
    محیطی با کاربری آسان برای ساختمان،
    نصب و اجرای ویندوز بومی
    نرم افزار. باعث می شود ...
    MSYS2 را دانلود کنید
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo یک کدک تصویر JPEG است
    که از دستورالعمل های SIMD (MMX، SSE2،
    NEON، AltiVec) برای تسریع خط پایه
    فشرده سازی JPEG و رفع فشرده سازی روشن است
    x86، x8...
    دانلود libjpeg-turbo
  • بیشتر "

دستورات لینوکس

Ad