PDA

View Full Version : آموزش نصب ماجولها در پرل(مقاله)



white fox
چهارشنبه 11 شهریور 1383, 07:44 صبح
این آموزش از همون سری آموزش‌های آشپزی است :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/download/vc15/Patch/1.52/W95/EN-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:\module>perl Makefile.PL
D:\module>c:\perl\bin\make all test
D:\module>c:\perl\bin\make install


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


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

use PDF::API2;

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

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


perl pdf.pl

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

hosseinzadeh
چهارشنبه 11 شهریور 1383, 08:46 صبح
:flower: برنامه جالبیه!

sunboy
چهارشنبه 11 شهریور 1383, 10:51 صبح
سلام

اقا برای ما این خطا رو میده و کارتم البرزه (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
چهارشنبه 11 شهریور 1383, 17:20 عصر
سلام
بنده ماجول رو نصب و استفاده کردم.البته از راه عادی نه ppm!
مشکلی نداشت البته به یک نکته توجه کنید.
باید ماجول Zlib رو نصب کرده باشید.
Perl-Compress-Zlib-1.33.30-i586.rpm
در زوزه 9.1 ،تو سی دی دوم شاخه /suse/i586 هست!

white fox
چهارشنبه 11 شهریور 1383, 19:13 عصر
دوست عزیز sunboy : راستوشو بخای من خودم هم نمیتونم از طریق ppm ماجولهامو نصب کنم.
این مقاله هم ترجمه هست...من گفتم بنویسم شاید کسی تونست.
من خودم راه دوم رو پیشنهاد میکنم..واقعا جواب میده....امتحان کن از راه دوم اگه به مشکل برخوردی پیغام بده.

sunboy
پنج شنبه 12 شهریور 1383, 15:57 عصر
white fox جان ممنون از لطفت :oops:

sunboy
پنج شنبه 12 شهریور 1383, 16:50 عصر
سلام

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



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
پنج شنبه 12 شهریور 1383, 19:20 عصر
که ما اینهارو کپی کردیم داخل فلدر PDF-API2-0.3r77

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

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

sunboy
پنج شنبه 12 شهریور 1383, 22:33 عصر
با عرض شرمنده گی :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::API2; x

خط ششم


my $pdf =PDF::API2->new(-file => "HelloWorld.pdf");

sunboy
پنج شنبه 12 شهریور 1383, 22:35 عصر
راستی نسخه پرل من اینه Active PERL 5.22

white fox
جمعه 13 شهریور 1383, 00:37 صبح
نه دوست عزیز هنوز موفق به نصب ماجول نشدی که اون پیغام رو بهت میده.

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


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

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

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

hosseinzadeh
جمعه 13 شهریور 1383, 11:08 صبح
من خیلی دلم می خواد با لینوکس کار کنم اما چون با دات نت هم کار دارم یا کلا با زبان های ماکروسافت نمی دونم ایا می تونم که هم لینوکس داشته باشم هم ویندوز (می تونم؟) اخه من از یه ادم نه چندان حرفه ای شنیدم که می که لینوکس پارتیشن هارد رو به هم می زنه (راست می گه؟)
بله می تونید.لینوکس بدون هیچ مشکلی(اگر درست نصبش کنید) با ویندوز نصب میشه.

sunboy
جمعه 13 شهریور 1383, 11:11 صبح
من بازم اومدم :)
سلام

اقا ما این کارهارو کردیم
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 (@INC contains: F:/Perl/lib F:/Perl/site/lib .)
at F:\PerlCode\pdf.pl line 4.
BEGIN failed--compilation aborted at F:\PerlCode\pdf.pl line 4.

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


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.

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

مرسی :oops:

white fox
جمعه 13 شهریور 1383, 15:46 عصر
اول اینکه در مورد اینکه میشه لینوکس با ویندوز نصب کرد...؟
بله معلومه که میشه..حتما هم میشه.....فقط یه کم دقت باید بکنی.
من خودم الان رو سیستمم که 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
شنبه 14 شهریور 1383, 09:54 صبح
از همه ممنونم