| PAR(1) | User Contributed Perl Documentation | PAR(1) |
نام (NAME)
par.pl - ساخت و اجرای بایگانیهای Perl
خلاصه دستور (SYNOPSIS)
(لطفاً برای راههای آسان ساخت فایلهای اجرایی خودکفا، اسکریپتها یا بایگانیهای PAR از برنامههای perl، دستور pp را ببینید.)
برای ساخت یک توزیع PAR از توزیع پودمان CPAN:
% par.pl -p # make a PAR dist under the current path % par.pl -p Foo-0.01 # assume unpacked CPAN dist in Foo-0.01/
برای کار با یک توزیع PAR:
% par.pl -i Foo-0.01-i386-freebsd-5.8.0.par # install % par.pl -i http://foo.com/Foo-0.01 # auto-appends archname + perlver % par.pl -i cpan://AUTRIJUS/PAR-0.74 # uses CPAN author directory % par.pl -u Foo-0.01-i386-freebsd-5.8.0.par # uninstall % par.pl -s Foo-0.01-i386-freebsd-5.8.0.par # sign % par.pl -v Foo-0.01-i386-freebsd-5.8.0.par # verify
برای استفاده از Hello.pm موجود در ./foo.par:
% par.pl -A./foo.par -MHello % par.pl -A./foo -MHello # the .par part is optional
همان کار، اما با جستجوی foo.par در @INC؛
% par.pl -Ifoo.par -MHello % par.pl -Ifoo -MHello # ditto
اجرای test.pl یا script/test.pl از درون foo.par:
% par.pl foo.par test.pl # looks for 'main.pl' by default,
# otherwise run 'test.pl'
برای ساخت یک اسکریپت خودکفا حاوی یک فایل PAR:
% par.pl -O./foo.pl foo.par % ./foo.pl test.pl # same as above
جهت جاسازی پودمانهای غیرپایهای (non-core) و اشیاء اشتراکی لازم برای اجرای PAR (مانند "Zlib"، "IO"، "Cwd" و غیره)، از پرچم -b استفاده کنید:
% par.pl -b -O./foo.pl foo.par % ./foo.pl test.pl # runs anywhere with core modules installed
اگر مایلید پودمانهای پایهای (core) نیز همراه آن جاسازی شوند، به جای آن از پرچم -B استفاده کنید:
% par.pl -B -O./foo.pl foo.par % ./foo.pl test.pl # runs anywhere with the perl interpreter
این ویژگی بهویژه هنگام ساخت فایلهای اجرایی باینری مستقل کاربرد دارد؛ برای جزئیات pp را ببینید.
توضیحات (DESCRIPTION)
این دستور مستقل، تقریباً همان قابلیتهای "perl -MPAR" را ارائه میدهد، با این تفاوت که فایلهای از پیش بارگذاریشدهٔ .par را به جای "-MPAR=foo.par"، از طریق "-Afoo.par" دریافت میکند.
علاوه بر این، به شما امکان میدهد یک توزیع CPAN را به یک توزیع PAR تبدیل کرده و چنین توزیعهایی را مدیریت کنید. برای اطلاعات بیشتر دربارهٔ توزیعهای PAR، به PAR::Dist مراجعه کنید.
بارگذار باینری PAR (parl)
اگر کامپایلر C داشته باشید، یا یک بستهٔ باینری از پیش ساختهشدهٔ PAR برای پلتفرم شما موجود باشد، نسخهٔ باینری par.pl نیز بهطور خودکار تحت نام parl نصب خواهد شد. میتوانید از آن برای اجرای فایلهای .par استفاده کنید:
# runs script/run.pl in archive, uses its lib/* as libraries % parl myapp.par run.pl # runs run.pl or script/run.pl in myapp.par % parl otherapp.pl # also runs normal perl scripts
با این حال، اگر بایگانی .par شامل فایل main.pl یا script/main.pl باشد، آن فایل به جای آن اجرا میشود:
% parl myapp.par run.pl # runs main.pl, with 'run.pl' as @ARGV
در نهایت، گزینهٔ "-O" یک فایل اجرایی باینری مستقل از یک فایل PAR ایجاد میکند:
% parl -B -Omyapp myapp.par % ./myapp # run it anywhere without perl binaries
با پرچم "--par-options"، باینریهای تولیدشده میتوانند مانند "parl" برای بستهبندی باینریهای جدید عمل کنند:
% ./myapp --par-options -Omyap2 myapp.par # identical to ./myapp % ./myapp --par-options -Omyap3 myap3.par # now with different PAR
قالب فایل اجرایی مستقل
قالب فایل اجرایی مستقل، صرفاً حاصل الحاق عناصر زیر به یکدیگر است:
- خود فایل
اجرایی
چه در قالب متن ساده (par.pl) و چه در قالب اجرایی محلی سیستم (parl یا parl.exe).
- هر تعداد
فایل
تعبیهشده
این فایلها معمولاً برای راهاندازی اولیهٔ وابستگیهای گوناگون XS در PAR استفاده میشوند. هر بخش شامل موارد زیر است:
- رشتهٔ جادویی ""FILE""
- طول نام فایل در قالب pack('N') به علاوه ۹
- ۸ بایت هش CRC32 کدگذاریشده به صورت هگزادسیمال از محتوای فایل
- یک اسلش منفرد (""/"")
- نام فایل (بدون مسیر)
- طول فایل در قالب pack('N')
- محتوای فایل (فشردهنشده)
- یک فایل PAR
این مورد تنها یک فایل zip است که با رشتهٔ جادویی ""PK\003\004"" شروع میشود.
- بخش پایانی
نام حافظهٔ نهان (cache) از پیش محاسبهشده. یک رشتهٔ pack('Z40') از مقدار -T (--tempcache) یا هش فایل، که در ادامهٔ آن "\0CACHE" میآید. هش فایل با Digest::SHA محاسبه میشود.
یک عدد pack('N') از طول کل بخشهای FILE و PAR، که پس از آن یک رشتهٔ جادویی ۸ بایتی قرار دارد: ""\012PAR.pm\012"".
همچنین ببینید (SEE ALSO)
PAR, PAR::Dist, parl, pp
نویسندگان (AUTHORS)
Audrey Tang <cpan@audreyt.org>, Steffen Mueller <smueller@cpan.org>
میتوانید به فهرست رایانامه در <par@perl.org> بنویسید، یا برای شرکت در گفتگوها یک رایانامهٔ خالی به <par-subscribe@perl.org> ارسال کنید. بایگانیهای فهرست رایانامه در https://www.mail-archive.com/par@perl.org یا https://groups.google.com/g/perl.par در دسترس هستند.
لطفاً گزارش باگها را به https://github.com/rschupp/PAR-Packer/issues ارسال کنید.
کپیرایت و تکثیر (COPYRIGHT)
حق نشر ۲۰۰۲-۲۰۰۹ توسط Audrey Tang <cpan@audreyt.org>.
مطابق با مادهٔ هشتم مجوز Artistic License، نه این برنامه و نه برنامهٔ مرتبط parl هیچگونه محدودیت مجوزی را بر فایلهای تولیدشده توسط اجرای خود اعمال نمیکنند:
"Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package."
بنابراین، تا زمانی که کتابخانههای شخص ثالث بستهبندیشده نیز تحت مجوز Artistic License در دسترس باشند، شما کاملاً مجازید هرگونه مجوزی را روی فایل اجرایی حاصل قرار دهید.
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت همان شرایط خود Perl بازتوزیع کرده یا تغییر دهید.
LICENSE را ببینید.
| 2026-04-05 | perl v5.42.2 |