# زبان های اسکریپتی > دیگر زبان های اسکریپتی >  آموزش نصب ماجولها در پرل(مقاله)

## white fox

این آموزش از همون سری آموزش‌های آشپزی است :lol:
در این مقاله فرض شده که از micro$oft ویندوز استفاده میکنید.
====================================
ماجول چیست؟
به توابعی که کاربرد ویژه‌ای دارند گفته میشود.در واقع ماجول‌ها روتینهایی هستند که به برنامه نویس اجازه گسترش برنامه‌اش را میدهد.
نقش ماجولها در پرل مثل کاربرد ActiveX در ویژوال بیسیک میباشد و ما میتونیم با استفاده از اونها امکانات بیشماری به برنامه هامون بدیم.
ماجولهای بسیاری برای پرل در اینترنت یافت میشود مثل ماجولهایی برای CGI . برای کارهای شبکه‌ای. برای کارهای گرافیکی.ریاضیاتی.و....در مجموع بیش از 4000 ماجول وجود دارد که میتونید استفاده کنید.

از کجا ماجول‌ها رو گیر بیاریم؟
از سایت www.activestate.com
اما من پیشنهاد میکنم که ماجولهاتون رو از سایت www.cpan.org تهیه کنید.

خوب ماجول‌هامون رو داونلود کردیم...حالا چیکار باید بکنیم؟
خوب باید اونارو نصب کنید :D  (اوووو نه بابا 8-) 

من میخوام با شما ماجول PDF::API2 رو داونلود کنم و برای ساخت فایلهای pdf ازش استفاده کنم..بیاید با هم شروع کنیم.

راه اول: فرض میگیریم شما از cpan استفاده نمیکنید.و میخواید ماجولتون رو هنگام اتصال به اینترنت داونلود کنید همونجا هم نصب کنید.
پس PPM رو اجرا کنید.(هنگام نصب پرل میتونید این ppm رو هم نصب کنید)PPM سرنام کلمات Perl Package Manager است.
وقتی ppm  رو اجرا میکنید...صفحه‌ای شبیه صفحه سیاه داس میبینید که بجای اعلان سیستم تایپ شده 
PPM>
برای اینکه سرتون گرم شه دستور help رو وارد کنید تا شرحی از دستورات رو ببینید.
خوب برای پیدا کردن ماجولمون(PDF::API2) تایپ کنید:
PPM>search pdf 
کمی منتظر شید تا بهتون اطلاع بده که پیدا کرده بعدش تایپ کنید.
install pdf-api2
خوب تمومه صبر میکنید..تا ماجول داونلود و نصب شه...بعدشم که ppm رو ببنیدید..خلاص!

راه دوم:
شما اومدید از cpan فایل PDF-API2-0.3r77.tar.gz رو داونلود کردید و از اینترنت هم خارج شدید میخوایم دستی نصب کنیم!!!
اگر در لینوکس هستید که مشکلی نیست چون cpan هم همین فکر رو میکنه و ماجولهارو برای لینوکس تهیه کرده.برای نصب ماجول در لینوکس ابتدا فایل رو از حالت فشرده خارج میکنیم و بعد وارد دایرکتوری ماجول میشیم اونجا دستورات زیر رو وارد میکنیم:

perl Makefile.pl
make
make install

خلاص نصب شد!!! :roll: 
حالا یه مشکل کوچولو ما الان داریم از ویندوز استفاده میکنیم....نمیشه که!!!
خوب اینم راه داره اول برید یه برنامه دوانلود کنید..نترسید حجمش خیلی کمه همش 50 کیلوبایت ناقابل.
http://download.microsoft.com/downlo...US/Nmake15.exe
خوب حالا برنامه رو اجرا کنید....3 تا فایل بهتون میده!به نامهای : NMAKE.ERR . NMAKE.exe . README. خوب حالا این فایلهارو با خود فایلی که دوانلود کردید رو کپی کنید به دایرکتوری bin جایی که پرلتون رو نصب کردید.
که مسیر پیشفرض به این صورت هست:
c:\perl\bin
و اسامی فایلهای NMAKE15.exe رو به make15.exe و فایل NMAKE.exe رو به make.exe تغییر میدیم. :shock: 
خوب حالا از طریق پنجره کامند که با همون دستور cmd تو run اجرا میشه میریم به دایرکتوری که ماجولمون رو از حالت فشرده خارج کردیم.مثلا مسیر d:\module
و برای اطمینان که ماجولمون حتما نصب میشه به صورت زیر دستورات رو میزنیم:

D&#58;\module>perl Makefile.PL
D&#58;\module>c&#58;\perl\bin\make all test
D&#58;\module>c&#58;\perl\bin\make install


خوب تموم شد  :lol:  حالا بیاید از ایم ماجولی(PDF::API2)که داونلود کردیم استفاده کنیم و یه برنامه بنویسیم..یه برنامه خیلی ساده شما هم حتما امتحان کنید خیلی راحته :wink: 
کدهای زیر رو در notepad ویندوز کپی کنید:

#!/usr/bin/perl
# Helloworld.pl; adapted from 0x_test-pl

use PDF&#58;&#58;API2;

my $pdf =PDF&#58;&#58;API2->new&#40;-file => "HelloWorld.pdf"&#41;;
$pdf->mediabox&#40;595,842&#41;;
my $page = $pdf->page;
my $fnt= $pdf->corefont&#40;'Arial',-encoding => 'latin1'&#41;;
my $txt= $page->hybrid;
$txt->textstart;
$txt->font&#40;$fnt, 20&#41;;
$txt->translate&#40;210,800&#41;;
$txt->text&#40;"www.barnamenevis.org"&#41;;
$txt->translate&#40;200,750&#41;;
$txt->text_right&#40;"..&#58;&#58; White FOX &#58;&#58;.."&#41;;
$txt->translate&#40;190,700&#41;;
$txt->text_center&#40;"E-mail&#58;white_fox_ir\@yahoo.com"&#41;;
$txt->textend;
$pdf->save;
$pdf->end&#40;&#41;;

خوب حالا برنامه رو با نام مثلا pdf.pl سیو میکنیم..برای اینکه notepad خودش پسوند txt رو اضافه نکنه در قسمتی که دارید فایل رو تایپ میکنید از " استفاده کنید یعنی به این حالت اسم فایل رو تایپ کنید "pdf.pl" و تموم.
حالا از کامند برید جایی که این فایل رو سیو کردید و دستور زیر رو تایپ کنید.

perl pdf.pl

برنامه به صورت خودکار یه فایل pdf در همون شاخه درست میکنه ...برید ببینید!!!
البته میدونید که برناهم adobe acrobat باید نصب باشه :wink: 
===============================================
درس آشپزی شیرینی بود..امیدوارم که  نوش جان کنید. و لذت ببرید. :lol:

----------


## hosseinzadeh

:flower: برنامه جالبیه!

----------


## sunboy

سلام 

اقا برای ما این خطا رو میده و کارتم البرزه (ISP)



> PPM interactive shell (1.1.1) - type 'help' for available commands.x 
> PPM> instal Data-Manip 
> Install package 'Data-Manip?' (y/N): y 
> Retrieving package 'Data-Manip'...x 
> Error installing package 'Data-Manip': Could not locate a PPD file for package D 
> ata-Manip 
> PPM>x

----------


## hosseinzadeh

سلام
بنده ماجول رو نصب و استفاده کردم.البته از راه عادی نه ppm!
مشکلی نداشت البته به یک نکته توجه کنید.
باید ماجول Zlib رو نصب کرده باشید.
Perl-Compress-Zlib-1.33.30-i586.rpm
در زوزه 9.1 ،تو سی دی دوم شاخه /suse/i586 هست!

----------


## white fox

دوست عزیز sunboy : راستوشو بخای من خودم هم نمیتونم از طریق ppm ماجولهامو نصب کنم.
این مقاله هم ترجمه هست...من گفتم بنویسم شاید کسی تونست.
من خودم راه دوم رو پیشنهاد میکنم..واقعا جواب میده....امتحان کن از راه دوم اگه به مشکل برخوردی پیغام بده.

----------


## sunboy

white fox   جان ممنون از لطفت  :oops:

----------


## sunboy

سلام 

اقا ما با مشکل روبه رو شدیم  بعد از اجرای اون برنامه این خطا رو می ده که می دونم  ماجولمون خوب نصب نشده 




> Can't locate warnings.pm in @INC (@INC contains: D:/Perl/lib D:/Perl/site/lib .)
>  at D:/Perl/site/lib/PDF/API2/PDF/FileAPI.pm line 6.
> BEGIN failed--compilation aborted at D:/Perl/site/lib/PDF/API2/PDF/FileAPI.pm li
> ne 6.
> BEGIN failed--compilation aborted at D:/Perl/site/lib/PDF/API2.pm line 48.
> BEGIN failed--compilation aborted at F:\PerlCode\pdf.pl line 4.


اقا ما اومدیم اون فایلو یعنی  PDF-API2-0.3r77.tar.gz از حالت فشرده دراوردیم  که داخلش این فایل بود  PDF-API2-0.3r77.tar  اینم از حالت فشرده دراوردیم که اخر سر این فولدر شد PDF-API2-0.3r77  بعد اون فایل یعنی  Nmake15.exe اجرا کردیم که این فایلها رو به ما داد  NMAKE.ERR و NMAKE.EXE و README.TXT  .

که ما اینهارو کپی کردیم داخل فلدر   PDF-API2-0.3r77   که این فلدر هم کپی کردیم  داخل   d:\perl\bin  بعد هم اون دستورات داخل  cmd   زدیم  

حالا پیدا کنید پرتقال فروشو   :?  یعنی کجا کار ما ایراد داشت  


مرسی  :oops:

----------


## white fox

> که ما اینهارو کپی کردیم داخل فلدر PDF-API2-0.3r77


نه عزیز دل برادر...اشتباه کردید.... :wink: 
فایلهای حاوی برنامه nmake رو دیگه داخل فولدر ماجولی که از حالت فشرده باز کردی کپی نکن بعد همه رو با هم ببر به bin ....فقط اون 3 تا فایل برنامه nmake که خودتم ازشون اسم بردی با خود namke15.exe که برنامه اصلی هست کپی کن به c:\perl\bin و همونطوری که گفتم اسمهاشون هم عوض کن.
یه بار دیگه اینطوری که گفتم عمل کن حله...بازم مشکل داشتی بپرس.

===============================
در ضمن دوست عزیز من با کارت امیدان ...تونستم از طریق PPM ماجول نصب کنم
من نمیدونم شاید اشکال از ISP باشه...(کارتت رو عوض کن) اما شاید perl رو بد نصب کردی....
کدوم ورژن پرل رو نصب کردی؟....از همین سایت activestate بوده دیگه؟..یه بار پاک کن دوباره نصب کن...موقع نصب هم فایروال خودتو  غیر فعال کن.

----------


## sunboy

با عرض شرمنده گی   :roll: 

اقا مثل این که خوب نصب شد یعنی  error   نداد اما  وقتی اون برنامه ی که نوشتم  رو اجرا می کنم این پیغام و می ده 




> Can't locate warnings.pm in @INC (@INC contains: D:/Perl/lib D:/Perl/site/lib .)
>  at D:/Perl/site/lib/PDF/API2/PDF/FileAPI.pm line 6.
> BEGIN failed--compilation aborted at D:/Perl/site/lib/PDF/API2/PDF/FileAPI.pm li
> ne 6.
> BEGIN failed--compilation aborted at D:/Perl/site/lib/PDF/API2.pm line 48.
> BEGIN failed--compilation aborted at pdf.pl line 4.


خط چهارم برنامه 


use PDF&#58;&#58;API2; x

خط ششم 

my $pdf =PDF&#58;&#58;API2->new&#40;-file => "HelloWorld.pdf"&#41;;

----------


## sunboy

راستی  نسخه پرل من  اینه Active PERL 5.22

----------


## white fox

نه دوست عزیز هنوز موفق به نصب ماجول نشدی که اون پیغام رو بهت میده.

در ضمن نسخه پرلتون عجیبه کمی :roll: احتمالا 5.2.2 بوده. :mrgreen:  
پرل از نسخه 5.6.1 به بالا خیلی عوض شده.....نسخه پرل من الان 5.8.3 هست و نسخه ppm هم 3.1 میباشد به نظر من ارتقا دهید..نسخه پرلتون رو.


شما امکان استفاده از لینوکس رو ندارید؟ :?:  اگه به لینوکس دسترسی دارید با اون خیلی راحت میشه با پرل برنامه نویسی کرد.

آقا یه وقت دلسرد نشی...چون ظاهرا شما تنها مشتری این بخشی... :wink: 
پس سعی کن بازم.

----------


## sunboy

white fox  جان خیلی ممنون 
نه اقا چون خدایش من یه جورای از پرل خوشم می اد حالا حالا ها با هم کار داریم 
اقا جان خودم  همین  Active PERL 5.22 روی سی دیش نوشته شده  
من خیلی دلم می خواد با  لینوکس کار کنم اما چون با دات نت هم کار دارم  یا کلا با زبان های ماکروسافت نمی دونم ایا می تونم که هم لینوکس داشته باشم هم ویندوز  (می تونم؟) اخه من از یه ادم نه چندان حرفه ای شنیدم که می که لینوکس پارتیشن هارد رو به هم می زنه (راست می گه؟)  
من بازم می رم امتحان کنم نصب ماجول ها رو

----------


## hosseinzadeh

> من خیلی دلم می خواد با لینوکس کار کنم اما چون با دات نت هم کار دارم یا کلا با زبان های ماکروسافت نمی دونم ایا می تونم که هم لینوکس داشته باشم هم ویندوز (می تونم؟) اخه من از یه ادم نه چندان حرفه ای شنیدم که می که لینوکس پارتیشن هارد رو به هم می زنه (راست می گه؟)


بله می تونید.لینوکس بدون هیچ مشکلی(اگر درست نصبش کنید) با ویندوز نصب میشه.

----------


## sunboy

من بازم اومدم :) 
سلام

اقا ما این کارهارو کردیم 
1 . این فایلو دانلود کرده بعد دی سی شده  :oops:  (PDF-API2-0.3r77.tar.gz)
2 . از حالت فشرده در اورده  (PDF-API2-0.3r77.tar) و در مسیر f:\module  کپی کرده (PDF-API2-0.3r77 )   

3. فایل  nmake15.exe  ر اجا کرده  و خودشو بچه ها شو اینجا کپی کردیم   d:\perl\bin

4. cmd  را اجرا کرده و به این ادرس رفتیم   cd f:\module
5. و از اونجا به داخل فلدر  PDF-API2-0.3r77    و فایل  makefile.pl  را اجرا کردیم که اینو داد به ما





> ____  ____  _____              _    ____ ___   ____
>   |  _ \|  _ \|  ___|  _   _     / \  |  _ \_ _| |___ \
>   | |_) | | | | |_    (_) (_)   / _ \ | |_) | |    __) |
>   |  __/| |_| |  _|    _   _   / ___ \|  __/| |   / __/
>   |_|   |____/|_|     (_) (_) /_/   \_\_|  |___| |_____|
>                                       (0.3r77)
>   please look at http://www.penguin.at0.net/~fredo/files/
>   for examples and contrib.
> Writing Makefile for PDF::API2
> anything else ? NO.


و از همون جا این دستورات رو اجرا کردیم 
d:\perl\bin\ make all test
d:\perl\bin\ make insetall
که انگار   dir /s  گرفیتم یه هم یه چیزای اومدو انگار هم یه چیزهای رو نصب کرد 
6. ولی بازم نشد من اون برنامه رو نوشتم  که اگه بدون w اجراش کنم اینو می ده   




Can't locate PDF/API2.pm in @INC &#40;@INC contains&#58; F&#58;/Perl/lib F&#58;/Perl/site/lib .&#41;
 at F&#58;\PerlCode\pdf.pl line 4.
BEGIN failed--compilation aborted at F&#58;\PerlCode\pdf.pl line 4.

و با  w اینو می ده 

Can't locate warnings.pm in @INC &#40;@INC contains&#58; D&#58;/Perl/lib D&#58;/Perl/site/lib .&#41;
 at D&#58;/Perl/site/lib/PDF/API2/PDF/FileAPI.pm line 6.
BEGIN failed--compilation aborted at D&#58;/Perl/site/lib/PDF/API2/PDF/FileAPI.pm li
ne 6.
BEGIN failed--compilation aborted at D&#58;/Perl/site/lib/PDF/API2.pm line 48.
BEGIN failed--compilation aborted at pdf.pl line 4.

 من هنوز نا امیدنشدم :(  :(  :o  :o  :cry:  :lol:  :lol:  :lol: 
white fox  جان از کجا می شه نسخه پرل شما دا دانلود کرد

مرسی  :oops:

----------


## white fox

اول اینکه در مورد اینکه میشه لینوکس با ویندوز نصب کرد...؟
بله معلومه که میشه..حتما هم میشه.....فقط یه کم دقت باید بکنی.
من خودم الان رو سیستمم که 60 گیگابایت ظرفیت هارد دیسکش هست ....یک win2000 و winxp و دوتا لینوکس به نام slackware10 و Yoper2 رو دارم..میشه چند تا؟..   4 تا :wink: 
پیشنهاد میکنم که یه سر بری به سایت www.technotux.com بزنی اونجا مقاله های بسیار عالی درباره نصب لینوکس داره.
یا اگه میخوای یه مقدار صبر کن تا سایتمو راه بندازم...اونقت منم یه سری اموزش میزارم :mrgreen: 
============================
حالا بریم سراغ پرل...هر وقت دیدی پیغامی مبنی بر



> Can't locate PDF/API2.pm in @INC (@INC contains: F:/Perl/lib F:/Perl/site/lib .)


میده بدون که هنوز ماجولتو نصب نکردی.......
ببینم اسم اون فایلهای nmake15.exe رو و بچه هاشو تغییر میدی بعد از کپی تو c:\perl\bin ؟ 
ببین تا اونجایی که من با این دانش کمم بهم اطلاعات میده نسخه های پرل به این صورت هست:
5.6.1 یا 5.6.5 ....که تا اونجایی که میدونم آخرین ورژن stable (عدد آخر رو مطما نیستم) 5.8.4 هست و یه ورژن هم اومده برا حرفه ای ها که هنوز stable نشده با ورژن 6 که خیلی پیشرفت کرده.

با این حساب حتما نسخه پرلتو افزایش بده چون تمام آموزش های من برای پرل های 5.6 به بالا هست....یه چند تایی هم میخوام بگم که ماله 5.8 هست.....
پس برو سایت www.activestate.com اونجا یه نسخه پرل ActivePerl رو که رایگان هم هست داونلود کن!

راستی شما که داری با NOT.  :mrgreen: کا میکنی تو همون سایت activestate یه چیزی هست به نام visual perl که میچسبه به همون بسته که میتونی در کنار ASP .net از پرل هم در کدهات استفاده کنی....
فقط شک دارم مجانی باشه....باید سفارش بدی آقا کرامتی برایت یکی بخره.. :wink:

----------


## sunboy

از همه ممنونم

----------

