perlwin32 - ক্লাউডে অনলাইন

এটি হল perlwin32 কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


perlwin32 - উইন্ডোজের অধীনে পার্ল

সাইনোপিসিস


এগুলি Windows 2000 এবং পরবর্তীতে পার্ল তৈরির নির্দেশাবলী।

বর্ণনাঃ


আপনি শুরু করার আগে, আপনাকে শীর্ষ-স্তরে পাওয়া README ফাইলটি দেখতে হবে
যে ডিরেক্টরিতে পার্ল ডিস্ট্রিবিউশন বের করা হয়েছিল। আপনি পড়া এবং বুঝতে ভুলবেন না
শর্তাবলী যার অধীনে এই সফ্টওয়্যার বিতরণ করা হচ্ছে.

এছাড়াও নিশ্চিত করুন যে আপনি এই পোর্টের পরিচিত সীমাবদ্ধতার জন্য নীচে "বাগস এবং সতর্কতা" পড়েছেন৷

পার্ল টপ-লেভেলের ইন্সটল ফাইলে অনেক তথ্য রয়েছে যা শুধুমাত্র প্রাসঙ্গিক
মানুষ ইউনিক্স-এর মতো সিস্টেমে পার্ল তৈরি করছে। বিশেষ করে, আপনি নিরাপদে কোনো উপেক্ষা করতে পারেন
তথ্য যা "কনফিগার" সম্পর্কে কথা বলে।

আপনি একটি পার্ল নির্মাণের জন্য অন্য একটি বিকল্প দেখতে চাইতে পারেন যা কাজ করবে
উইন্ডোজ: README.cygwin ফাইল, যা একটি পার্ল তৈরি করার জন্য আলাদা নিয়ম দেয়
উইন্ডোজ এই পদ্ধতিটি সম্ভবত আপনাকে আরও ইউনিক্স-সামঞ্জস্যপূর্ণ পার্ল তৈরি করতে সক্ষম করবে, কিন্তু
এছাড়াও আপনাকে অন্যান্য বিল্ড-টাইম এবং রান-টাইম সমর্থন ডাউনলোড এবং ব্যবহার করতে হবে
সেই ফাইলে বর্ণিত সফ্টওয়্যার।

নির্দেশাবলীর এই সেটটি পার্লের একটি তথাকথিত "নেটিভ" পোর্টকে বর্ণনা করার জন্য
উইন্ডোজ প্ল্যাটফর্ম। এর মধ্যে 32-বিট এবং 64-বিট উইন্ডোজ অপারেটিং সিস্টেম উভয়ই অন্তর্ভুক্ত রয়েছে। দ্য
ফলস্বরূপ পার্ল চালানোর জন্য কোন অতিরিক্ত সফ্টওয়্যার প্রয়োজন নেই (আপনার সাথে যা এসেছে তা ছাড়া
অপারেটিং সিস্টেম)। বর্তমানে, এই পোর্টটি নিম্নলিখিতগুলির মধ্যে একটি ব্যবহার করতে সক্ষম
Intel x86 আর্কিটেকচারে কম্পাইলার:

Microsoft Visual C++ সংস্করণ 6.0 বা তার পরবর্তী
ইন্টেল সি++ কম্পাইলার (পরীক্ষামূলক)
mingw.org gcc সংস্করণ 3.4.5 বা তার পরের Gcc দ্বারা
mingw-w64.org gcc সংস্করণ 4.4.3 বা তার পরের Gcc দ্বারা

মনে রাখবেন যে এর মধ্যে শেষ দুটি আসলে প্রতিযোগী প্রকল্প উভয়ই সম্পূর্ণ প্রদান করে
এমএস উইন্ডোজের জন্য জিসিসি টুলচেন:

<http://mingw.org>
32-বিট উইন্ডোজ প্ল্যাটফর্মকে লক্ষ্য করে জিসিসি টুলচেন সরবরাহ করে।

<http://mingw-w64.org>
64-বিট উইন্ডোজ এবং 32-বিট উইন্ডোজ প্ল্যাটফর্ম উভয়কেই লক্ষ্য করে জিসিসি টুলচেন সরবরাহ করে
(প্রকল্পের নাম "mingw-w64" সত্ত্বেও তারা শুধুমাত্র 64-বিট ভিত্তিক নয়)। তারা পৌঁছে দেয়
নেটিভ জিসিসি কম্পাইলার এবং ক্রস-কম্পাইলার যা পার্লস দ্বারা সমর্থিত
makefile

মাইক্রোসফ্ট ভিজ্যুয়াল সি++ কম্পাইলারগুলিও এখন বিনামূল্যে দেওয়া হচ্ছে। তারা উপলব্ধ
"ভিজ্যুয়াল সি++ টুলকিট 2003" বা "ভিজ্যুয়াল সি++ 2005-2013 এক্সপ্রেস সংস্করণ" হিসাবে (এবং অংশ হিসাবেও
".NET ফ্রেমওয়ার্ক SDK") এবং একই কম্পাইলার যা "ভিজ্যুয়াল C++ .NET এর সাথে পাঠানো হয়
যথাক্রমে 2003 পেশাদার" বা "ভিজ্যুয়াল C++ 2005-2013 পেশাদার"।

এই পোর্টটি IA64/AMD64 ব্যবহার করেও তৈরি করা যেতে পারে:

মাইক্রোসফট প্ল্যাটফর্ম SDK নভেম্বর 2001 (64-বিট কম্পাইলার এবং টুলস)
MinGW64 কম্পাইলার (gcc সংস্করণ 4.4.3 বা পরবর্তী)

Windows SDK থেকে ডাউনলোড করা যাবেhttp://www.microsoft.com/> MinGW64 কম্পাইলার
এ উপলব্ধhttp://mingw-w64.org> পরেরটি আসলে একটি ক্রস-কম্পাইলার টার্গেটিং
Win64. বিল্ডিংয়ের জন্য উপযুক্ত একটি ট্রিমড ডাউন কম্পাইলার (কোন জাভা, বা জিফরট্রান নেই) রয়েছে
পার্ল এখানে উপলব্ধ:http://strawberryperl.com/package/kmx/64_gcctoolchain/>

দ্রষ্টব্য: আপনি যদি 32-বিট উইন্ডোজ অপারেটিং-এ পার্ল তৈরি করতে একটি 64-বিট কম্পাইলার ব্যবহার করেন
সিস্টেম, তারপর আপনার WIN64 এনভায়রনমেন্ট ভেরিয়েবলকে "undef" তে সেট করা উচিত। এছাড়াও, ছাঁটা
ডাউন কম্পাইলার শুধুমাত্র পরীক্ষায় উত্তীর্ণ হয় যখন USE_ITHREADS *= সংজ্ঞায়িত করে (undef এর বিপরীতে) এবং যখন
CFG *= ডিবাগ লাইন মন্তব্য করা হয়েছে।

এই পোর্টটি সম্পূর্ণরূপে MakeMaker সমর্থন করে (মডিউলের সেট যা এক্সটেনশন তৈরি করতে ব্যবহৃত হয়
পার্ল)। অতএব, আপনার মধ্যে পাওয়া বেশিরভাগ এক্সটেনশনগুলি তৈরি এবং ইনস্টল করতে সক্ষম হওয়া উচিত
CPAN সাইট। এই সম্পর্কে সাধারণ ইঙ্গিতগুলির জন্য নীচে "উইন্ডোজে পার্লের জন্য ব্যবহারের ইঙ্গিতগুলি" দেখুন৷

বিন্যাস Up পার্ল on উইন্ডোজ
করা
উত্সগুলি তৈরি করতে আপনার একটি "মেক" প্রোগ্রাম দরকার। আপনি যদি ভিজ্যুয়াল সি++ বা ব্যবহার করেন
Windows SDK টুলস, nmake কাজ করবে। জিসিসি ব্যবহার করে তৈরি করতে dmake দরকার।

dmake একটি অবাধে উপলব্ধ মেক যেটিতে খুব সুন্দর ম্যাক্রো বৈশিষ্ট্য রয়েছে এবং
সমান্তরালতা

উইন্ডোজের জন্য ডিমেকের একটি পোর্ট এখান থেকে পাওয়া যায়:

<http://search.cpan.org/dist/dmake/>

আপনার পথের কোথাও dmake আনুন এবং ইনস্টল করুন।

কমান্ড শেল
উইন্ডোজের সাথে আসা ডিফল্ট "cmd" শেলটি ব্যবহার করুন। জনপ্রিয় কিছু সংস্করণ
4DOS/NT শেলের অসঙ্গতি রয়েছে যা আপনাকে সমস্যার কারণ হতে পারে। বিল্ড ব্যর্থ হলে
সেই শেলের অধীনে, cmd শেল দিয়ে আবার তৈরি করার চেষ্টা করুন।

নিশ্চিত করুন যে বিল্ড ডিরেক্টরির পাথে স্পেস নেই। নির্মাণ সাধারণত
এই পরিস্থিতিতে কাজ করে, কিন্তু কিছু পরীক্ষা ব্যর্থ হবে।

মাইক্রোসফ্ট ভিজ্যুয়াল সি ++
ভিজ্যুয়াল C++ এর সাথে আসা nmake বিল্ডিংয়ের জন্য যথেষ্ট হবে। ভিজ্যুয়াল সি এর প্রয়োজন
ভিজ্যুয়াল সি সফলভাবে চালানোর আগে কিছু জিনিস কনসোলে সেট আপ করতে হবে। তৈরি করতে
একটি কনসোল বক্স সি কম্পাইলার চালাতে সক্ষম হবে, আপনাকে আগে থেকে চালাতে হবে
"vcvars32.bat" ফাইল x86-32 এর জন্য এবং x86-64 এর জন্য কম্পাইল করতে "vcvarsall.bat x64" বা
"vcvarsamd64.bat"। একটি মাইক্রোসফ্ট সি কম্পাইলার পণ্যের একটি সাধারণ ইনস্টলে, এই ব্যাচ
ফাইলগুলি ইতিমধ্যেই আপনার "PATH" এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে থাকবে যাতে আপনি সেগুলি টাইপ করতে পারেন
আপনার কনসোলে একটি পরম পথ ছাড়া. আপনি যদি পরম পথ খুঁজে বের করতে হবে
ব্যাচ ফাইল, এটি সাধারণত C:\Program Files\Microsoft Visual এর মতো কোথাও পাওয়া যায়
স্টুডিও\VC98\Bin। কিছু নতুন মাইক্রোসফ্ট সি পণ্যের সাথে (~2004 এর পরে প্রকাশিত), দ
ইনস্টলার একটি নতুন কনসোল উইন্ডো চালু করতে স্টার্ট মেনুতে একটি শর্টকাট রাখবে
আপনার টার্গেট আর্কিটেকচারের (x86-32 বা x86-64 বা IA64) জন্য কনসোল ইতিমধ্যেই সেট আপ করা হয়েছে।
নতুন কম্পাইলারগুলির সাথে, আপনি যদি পছন্দ করেন তবে আপনি পুরানো ব্যাচের ফাইলগুলিও ব্যবহার করতে পারেন।

আপনি ভিজ্যুয়াল C++ ব্যবহার করে নির্মাণ করতে dmake ব্যবহার করতে পারেন; প্রদত্ত, যাইহোক, আপনি OSRELEASE সেট করেছেন
"microsft" (বা যাই হোক না কেন ডিরেক্টরির নাম যার অধীনে ভিজ্যুয়াল সি ডিমেক
কনফিগারেশন লাইভ) আপনার পরিবেশে এবং পরিবর্তন করতে win32/config.vc সম্পাদনা করুন
"make=nmake" তে "make=dmake"। আপনি যদি ব্যবহার করতে চান তবেই পরবর্তী ধাপটি অপরিহার্য
dmake আপনার ডিফল্ট হিসাবে মেকমেকার ব্যবহার করে এক্সটেনশন তৈরি করার জন্য তৈরি করুন।

মাইক্রোসফট ভিজ্যুয়াল সি++ 2008-2013 এক্সপ্রেস সংস্করণ
Visual C++ 2008-2013 Professional-এর এই বিনামূল্যের সংস্করণগুলিতে একই কম্পাইলার রয়েছে
এবং লিঙ্কার যেগুলি সম্পূর্ণ সংস্করণের সাথে পাঠানো হয় এবং এতে প্রয়োজনীয় সবকিছু থাকে
আগের মত Windows SDK এর আলাদা ডাউনলোডের প্রয়োজন না করে পার্ল তৈরি করুন
সংস্করণ করেছে।

এই প্যাকেজগুলি ডাউনলোড কেন্দ্রে অনুসন্ধান করে ডাউনলোড করা যেতে পারে
<http://www.microsoft.com/downloads/search.aspx?displaylang=en>. (সঠিক প্রদান করা
এই প্যাকেজগুলির লিঙ্কগুলি একটি অর্থহীন কাজ প্রমাণ করেছে কারণ লিঙ্কগুলি পরিবর্তন হতে থাকে
তাই প্রায়ই.)

Visual C++ 2008-2013 Express ইনস্টল করুন, তারপর ব্যবহার করে আপনার পরিবেশ সেটআপ করুন, যেমন

C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat

(অনুমান করে ডিফল্ট ইনস্টলেশন অবস্থান বেছে নেওয়া হয়েছে)।

পার্ল এখন win32/Makefile ব্যবহার করে তৈরি করা উচিত। আপনাকে সেই ফাইলটি সম্পাদনা করতে হবে
প্রথমে MSVC90FREE-MSVC120FREE এর একটিতে CCTYPE সেট করুন।

মাইক্রোসফ্ট ভিজ্যুয়াল সি++ 2005 এক্সপ্রেস সংস্করণ
Visual C++ 2005 Professional-এর এই বিনামূল্যের সংস্করণে একই কম্পাইলার রয়েছে এবং
লিঙ্কার যেটি সম্পূর্ণ সংস্করণের সাথে শিপ করে, কিন্তু প্রয়োজনীয় সবকিছু ধারণ করে না
পার্ল তৈরি করুন।

এছাড়াও আপনাকে "Windows SDK" ডাউনলোড করতে হবে ("কোর SDK" এবং "MDAC SDK"
আরো হেডার ফাইল এবং লাইব্রেরির জন্য উপাদান প্রয়োজন)।

এই প্যাকেজ দুটিই ডাউনলোড কেন্দ্রে অনুসন্ধান করে ডাউনলোড করা যাবে
<http://www.microsoft.com/downloads/search.aspx?displaylang=en>. (সঠিক প্রদান করা
এই প্যাকেজগুলির লিঙ্কগুলি একটি অর্থহীন কাজ প্রমাণ করেছে কারণ লিঙ্কগুলি পরিবর্তন হতে থাকে
তাই প্রায়ই.)

Windows SDK এর সর্বশেষ সংস্করণটি পাওয়ার চেষ্টা করুন। কখনও কখনও এই প্যাকেজ ধারণ করে
তাদের নামে একটি নির্দিষ্ট Windows OS সংস্করণ, কিন্তু আসলে অন্যান্য OS সংস্করণে কাজ করে
খুব উদাহরণস্বরূপ, "Windows Server 2003 R2 Platform SDK" Windows XP-এও চলে
SP2 এবং Windows 2000।

প্রথমে ভিজ্যুয়াল C++ 2005, তারপর প্ল্যাটফর্ম SDK ইনস্টল করুন। হিসাবে আপনার পরিবেশ সেট আপ করুন
অনুসরণ করে (ধরে নিচ্ছে ডিফল্ট ইনস্টলেশন অবস্থানগুলি বেছে নেওয়া হয়েছে):

SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK

SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft ভিজ্যুয়াল স্টুডিও 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual স্টুডিও 8\VC\VCPackages;% PlatformSDKDir%\Bin

SET অন্তর্ভুক্ত করুন=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%PlatformSDKDir%\include

SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%PlatformSDKDir%\lib

সেট LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

(প্ল্যাটফর্ম এসডিকেডির আপনার কোন সংস্করণের উপর নির্ভর করে আলাদাভাবে সেট করা প্রয়োজন হতে পারে
ব্যবহার করছেন. পূর্ববর্তী সংস্করণগুলি "C:\Program Files\Microsoft SDK" এ ইনস্টল করা হয়েছে, যখন
সর্বশেষ সংস্করণগুলি সংস্করণ-নির্দিষ্ট অবস্থানে ইনস্টল করে যেমন "C:\Program
Windows Server 2003 R2 এর জন্য Files\Microsoft Platform SDK।)

পার্ল এখন win32/Makefile ব্যবহার করে তৈরি করা উচিত। আপনাকে সেই ফাইলটি সম্পাদনা করতে হবে
সেট

CCTYPE = MSVC80FREE

এবং উপরের পরিবেশ সেটআপ অনুযায়ী CCHOME, CCINCDIR এবং CCLIBDIR সেট করতে।

মাইক্রোসফট ভিজ্যুয়াল সি++ টুলকিট 2003
এই বিনামূল্যের টুলকিটে একই কম্পাইলার এবং লিঙ্কার রয়েছে যা ভিজ্যুয়াল C++ .NET এর সাথে পাঠানো হয়।
2003 পেশাদার, কিন্তু পার্ল নির্মাণের জন্য প্রয়োজনীয় সবকিছু ধারণ করে না।

এছাড়াও আপনাকে "প্ল্যাটফর্ম SDK" ডাউনলোড করতে হবে ("কোর SDK" এবং "MDAC SDK"
হেডার ফাইল, লাইব্রেরি এবং rc.exe, এবং ".NET ফ্রেমওয়ার্কের জন্য উপাদান প্রয়োজন হয়)
আরও লাইব্রেরি এবং nmake.exe-এর জন্য SDK। উল্লেখ্য যে পরবর্তীটি (যার মধ্যে রয়েছে
বিনামূল্যে কম্পাইলার এবং লিঙ্কার) ".NET ফ্রেমওয়ার্ক পুনরায় বিতরণযোগ্য" হতে হবে
প্রথমে ইনস্টল করুন। এটি আলাদাভাবে ডাউনলোড এবং ইনস্টল করা যেতে পারে, তবে এতে অন্তর্ভুক্ত রয়েছে
যাইহোক "ভিজ্যুয়াল C++ টুলকিট 2003"।

এই প্যাকেজগুলি ডাউনলোড কেন্দ্রে অনুসন্ধান করে ডাউনলোড করা যেতে পারে
<http://www.microsoft.com/downloads/search.aspx?displaylang=en>. (সঠিক প্রদান করা
এই প্যাকেজগুলির লিঙ্কগুলি একটি অর্থহীন কাজ প্রমাণ করেছে কারণ লিঙ্কগুলি পরিবর্তন হতে থাকে
তাই প্রায়ই.)

Windows SDK এর সর্বশেষ সংস্করণটি পাওয়ার চেষ্টা করুন। কখনও কখনও এই প্যাকেজ ধারণ করে
তাদের নামে একটি নির্দিষ্ট Windows OS সংস্করণ, কিন্তু আসলে অন্যান্য OS সংস্করণে কাজ করে
খুব উদাহরণস্বরূপ, "Windows Server 2003 R2 Platform SDK" Windows XP-এও চলে
SP2 এবং Windows 2000।

প্রথমে টুলকিট, তারপর প্ল্যাটফর্ম SDK, তারপর .NET ফ্রেমওয়ার্ক SDK ইনস্টল করুন৷ সেটআপ
আপনার পরিবেশ নিম্নরূপ (ধরে নিচ্ছে ডিফল্ট ইনস্টলেশন অবস্থানগুলি বেছে নেওয়া হয়েছে):

SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK

SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;%PlatformSDKDir%\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin

SET অন্তর্ভুক্ত করুন=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;%PlatformSDKDir%\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include

SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;%PlatformSDKDir%\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib

(প্ল্যাটফর্ম এসডিকেডির আপনার কোন সংস্করণের উপর নির্ভর করে আলাদাভাবে সেট করা প্রয়োজন হতে পারে
ব্যবহার করছেন. পূর্ববর্তী সংস্করণগুলি "C:\Program Files\Microsoft SDK" এ ইনস্টল করা হয়েছে, যখন
সর্বশেষ সংস্করণগুলি সংস্করণ-নির্দিষ্ট অবস্থানে ইনস্টল করে যেমন "C:\Program
Windows Server 2003 R2 এর জন্য Files\Microsoft Platform SDK।)

বেশ কিছু প্রয়োজনীয় ফাইল এখনও অনুপস্থিত থাকবে:

· একটি .res ফাইল ব্যবহার করার সময় link.exe দ্বারা cvtres.exe প্রয়োজন হয়। এটা আসলে
.NET ফ্রেমওয়ার্ক SDK দ্বারা ইনস্টল করা হয়েছে, কিন্তু নিম্নলিখিতগুলির মতো একটি অবস্থানে:

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

সেখান থেকে %PlatformSDKDir%\Bin-এ কপি করুন

· lib.exe সাধারণত লাইব্রেরি তৈরি করতে ব্যবহৃত হয়, কিন্তু link.exe এর সাথে / lib পছন্দ
এছাড়াও কাজ করে, তাই পরিবর্তে এটি ব্যবহার করতে win32/config.vc পরিবর্তন করুন:

লাইন রিডিং পরিবর্তন করুন:

ar='lib'

করুন:

ar='লিংক / lib'

এটি C:\Program-এ lib.bat নামে একটি ব্যাচ ফাইল তৈরি করতেও উপযোগী হতে পারে
Files\Microsoft Visual C++ Toolkit 2003\bin ধারণকারী:

@ সিও বন্ধ
লিংক / lib %*

যেকোনো দুষ্টু সি এক্সটেনশন মডিউলের সুবিধার জন্য যা আপনি তৈরি করতে চান
পরে যা তাদের মান নেওয়ার পরিবর্তে স্পষ্টভাবে "lib" উল্লেখ করে
$Config{ar}।

perlglob.exe তৈরি করতে setargv.obj প্রয়োজন (এবং perl.exe যদি USE_SETARGV
বিকল্প সক্রিয় করা হয়েছে)। প্ল্যাটফর্ম SDK এই অবজেক্ট ফাইলটিকে উৎস আকারে সরবরাহ করে
%PlatformSDKDir%\src\crt. সেখান থেকে setargv.c, cruntime.h এবং internal.h কপি করুন
কিছু অস্থায়ী অবস্থান এবং setargv.obj ব্যবহার করে তৈরি করুন

cl.exe/c/I. /D_CRTBLD setargv.c

তারপর setargv.obj কে %PlatformSDKDir%\lib-এ কপি করুন

বিকল্পভাবে, যদি আপনার perlglob.exe-এর প্রয়োজন না হয় এবং সক্ষম করার প্রয়োজন না হয়
USE_SETARGV বিকল্প তারপর আপনি নিরাপদে শুধুমাত্র $(GLOBEXE) এর সমস্ত উল্লেখ মুছে ফেলতে পারেন
win32/Makefile এবং setargv.obj যাইহোক প্রয়োজন হবে না।

পার্ল এখন win32/Makefile ব্যবহার করে তৈরি করা উচিত। আপনাকে সেই ফাইলটি সম্পাদনা করতে হবে
সেট

CCTYPE = MSVC70FREE

এবং উপরের পরিবেশ সেটআপ অনুযায়ী CCHOME, CCINCDIR এবং CCLIBDIR সেট করতে।

মাইক্রোসফ্ট প্ল্যাটফর্ম SDK 64-বিট কম্পাইলার
প্ল্যাটফর্ম SDK এর সাথে আসা nmake পার্ল তৈরির জন্য যথেষ্ট হবে। নিশ্চিত করা
আপনি আপনার পরে উপলব্ধ "বিল্ড এনভায়রনমেন্ট" শেলগুলির মধ্যে একটির মধ্যে তৈরি করছেন৷
স্টার্ট মেনু থেকে প্ল্যাটফর্ম SDK ইনস্টল করুন।

Gcc সহ MinGW রিলিজ 3
পার্ল MinGW রিলিজ 3 এবং পরবর্তীতে (gcc 3.4.5 এবং ব্যবহার করে) থেকে gcc দিয়ে কম্পাইল করা যেতে পারে
পরে)। এটা এখান থেকে ডাউনলোড করা যাবে:

<http://www.mingw.org/>

আপনারও dmake দরকার। কিভাবে এটি পেতে উপরে "বানান" দেখুন.

ইন্টেল সি++ কম্পাইলার
Intel C++ কম্পাইলার ব্যবহারের জন্য পরীক্ষামূলক সমর্থন যোগ করা হয়েছে। win32/Makefile সম্পাদনা করুন
এবং Intel C ইনস্টল করা ভিজ্যুয়াল C এর জন্য সঠিক CCTYPE বেছে নিন। এছাড়াও
ভিজ্যুয়াল সি সমর্থনে ইন্টেল সি সক্ষম করতে __ICC মন্তব্য করুন। বিল্ড সেট আপ করতে
পরিবেশ, স্টার্ট মেনু থেকে IA-32 Visual Studio 20__ মোড বা Intel 64 Visual চালান
উপযুক্ত হিসাবে স্টুডিও 20__ মোড। তারপর সেই প্রম্পট বাক্সে সাধারণত nmake চালান।

শুধুমাত্র Intel C++ কম্পাইলার v12.1 পরীক্ষা করা হয়েছে। অন্যান্য সংস্করণ সম্ভবত কাজ করবে।
Visual C এর পরিবর্তে Intel C++ কম্পাইলার ব্যবহার করলে C99 সামঞ্জস্যের সুবিধা রয়েছে
ভিজ্যুয়াল সি-এর সাথে সামঞ্জস্য বজায় রেখে যা কিছু CPAN XS মডিউলের জন্য প্রয়োজন
জিসিসির বিপরীতে অবজেক্ট কোড এবং ভিজ্যুয়াল সি ডিবাগিং পরিকাঠামো।

ভবন
· নিশ্চিত করুন যে আপনি পার্ল টপলেভেলের অধীনে "win32" সাবডিরেক্টরিতে আছেন। এই ডিরেক্টরি
একটি "মেকফাইল" রয়েছে যা ভিজ্যুয়াল C++ এর সাথে আসা nmake এর সংস্করণগুলির সাথে কাজ করবে
অথবা Windows SDK, এবং একটি dmake "makefile.mk" যা সমস্ত সমর্থিতদের জন্য কাজ করবে
কম্পাইলার dmake মেকফাইলের ডিফল্টগুলি MinGW/gcc ব্যবহার করে তৈরি করার জন্য সেটআপ করা হয়েছে।

makefile.mk (বা Makefile, যদি আপনি nmake ব্যবহার করেন) সম্পাদনা করুন এবং এর মান পরিবর্তন করুন
INST_DRV এবং INST_TOP আপনি বিভিন্ন বিল্ড পতাকা সক্ষম করতে পারেন। এগুলো ব্যাখ্যা করা হয়েছে
makefiles মধ্যে.

মনে রাখবেন যে INST_DRV এবং এর সাথে একটি পার্ল তৈরি করার চেষ্টা করা সাধারণত একটি ভাল ধারণা নয়৷
INST_TOP একটি পাথে সেট করা হয়েছে যা পূর্ববর্তী বিল্ড থেকে ইতিমধ্যেই বিদ্যমান। বিশেষ করে, এই
lib/ExtUtils/t/Embed.t পরীক্ষার সাথে সমস্যা হতে পারে, যা একটি তৈরি করার চেষ্টা করে
পরীক্ষা প্রোগ্রাম এবং ইনস্টল করা পার্লের lib/CORE ডিরেক্টরির বিরুদ্ধে বিল্ডিং শেষ হতে পারে
বরং পরীক্ষা করা হচ্ছে।

আপনাকে নিশ্চিত করতে হবে যে CCTYPE সঠিকভাবে সেট করা আছে এবং যে CCHOME পয়েন্ট করে
যেখানেই আপনি আপনার কম্পাইলার ইনস্টল করুন।

যদি mingw-w64.org দ্বারা প্রদত্ত ক্রস-কম্পাইলার দিয়ে তৈরি করা হয় তবে আপনাকে মন্তব্য করতে হবে
যে লাইনটি makefile.mk এ GCCCROSS সেট করে। এটি শুধুমাত্র যদি ক্রস-
কম্পাইলার - অর্থাৎ শুধুমাত্র যদি বিন ফোল্ডারে একটি gcc.exe না থাকে। (ক্রস-কম্পাইলার
একটি gcc.exe, g++.exe, ar.exe, ইত্যাদি প্রদান করে না। পরিবর্তে, এই সমস্ত এক্সিকিউটেবল
'x86_64-w64-mingw32-' এর সাথে উপসর্গ রয়েছে।)

ভিজ্যুয়াল C++ এর জন্য মেকফাইলে CCHOME-এর ডিফল্ট মান সঠিক নাও হতে পারে
কিছু সংস্করণ। নিশ্চিত করুন যে ডিফল্ট বিদ্যমান এবং বৈধ।

আপনি যদি হন তবে আপনাকে মেকফাইলে "ডিলেলোড = ..." লাইনটি মন্তব্য করতে হতে পারে
সর্বশেষ সার্ভিস প্যাক ছাড়া VC++ 6.0 ব্যবহার করে এবং লিঙ্কার একটি অভ্যন্তরীণ রিপোর্ট করে
ত্রুটি।

আপনি যদি পার্লের ডিএল-এ স্থিরভাবে কিছু মূল এক্সটেনশন তৈরি করতে চান তবে সেগুলিকে উল্লেখ করুন
STATIC_EXT ম্যাক্রো৷

দ্রষ্টব্য: USE_64_BIT_INT বিল্ড বিকল্পটি 32-বিট ভিজ্যুয়াল C++ 6.0 এর সাথে সমর্থিত নয়
সংকলক

মেকফাইলের উপরের দিকের নির্দেশাবলী সাবধানে পড়তে ভুলবেন না।

· টাইপ করুন "dmake" (বা "nmake" যদি আপনি সেই মেকটি ব্যবহার করেন)।

এই সবকিছু নির্মাণ করা উচিত. বিশেষ করে, এটি perl.exe, perl522.dll এ তৈরি করবে
lib\auto ডিরেক্টরির অধীনে পার্ল টপলেভেল এবং অন্যান্য বিভিন্ন এক্সটেনশন dll. যদি
বিল্ড কোনো কারণে ব্যর্থ হয়, নিশ্চিত করুন যে আপনি সঠিকভাবে পূর্ববর্তী পদক্ষেপগুলি করেছেন।

আপনি যদি সি কোড বিল্ডিংয়ের সাথে যথেষ্ট অগ্রসর হন তবে গতি বাড়ানোর জন্য এখানে একটি পরামর্শ রয়েছে
বিল্ডিং পার্ল, এবং পরে "মেক টেস্ট"। আপনার PATH পরিবেশগত পরিবর্তনশীল রাখার চেষ্টা করুন
সম্ভাব্য ন্যূনতম সংখ্যক ফোল্ডার সহ (আপনার সি কম্পাইলারের ফোল্ডারগুলি রাখতে মনে রাখবেন
সেখানে)। আপনার OS সংস্করণের উপর নির্ভর করে "C:\WINDOWS\system32" বা "C:\WINNT\system32"
PATH-এ প্রথম ফোল্ডার হওয়া উচিত, যেহেতু "cmd.exe" হল সবচেয়ে বেশি চালু হওয়া প্রোগ্রাম
নির্মাণের সময় এবং পরে পরীক্ষার সময়।

পরীক্ষামূলক পার্ল on উইন্ডোজ
টাইপ করুন "dmake test" (বা "nmake test")। এটি টেস্টসুইট থেকে বেশিরভাগ পরীক্ষা চালাবে
(অনেক পরীক্ষা বাদ দেওয়া হবে)।

কোনো পরীক্ষায় ব্যর্থতা থাকা উচিত নয়।

আপনি যদি ভিজ্যুয়াল C++ 2013 দিয়ে তৈরি করেন তবে বর্তমানে তিনটি পরীক্ষা ডেলাইট সেভিং এর সাথে ব্যর্থ হতে পারে
সময় সম্পর্কিত সমস্যা: t/io/fs.t, cpan/HTTP-Tiny/t/110_mirror.t এবং lib/File.Copy.t. দ্য
VC++ 2013-এ CRT-এ বাগগুলির কারণে ব্যর্থতাগুলি ঘটে যা ভবিষ্যতের রিলিজে ঠিক করা হবে
VC++ এর, যেমন মাইক্রোসফ্ট এখানে ব্যাখ্যা করেছে:
.
ইতিমধ্যে, আপনার যদি স্থির "স্ট্যাট" এবং "উটাইম" ফাংশনের প্রয়োজন হয় তবে দেখুন
CPAN বিতরণ Win32::UTCFileTime.

আপনি যদি www.mingw.org থেকে gcc এর নির্দিষ্ট সংস্করণ (যেমন 4.8.1) দিয়ে তৈরি করেন তাহলে
ext/POSIX/t/time.t সেই জিসিসি বিল্ডগুলিতে একটি পরিচিত বাগ থাকার কারণে 17 পরীক্ষায় ব্যর্থ হতে পারে: দেখুন
<http://sourceforge.net/p/mingw/bugs/2152/>.

কিছু পরীক্ষা ব্যর্থতা ঘটতে পারে যদি আপনি নেটিভ "cmd.exe" ছাড়া অন্য কোনো কমান্ড শেল ব্যবহার করেন।
অথবা যদি আপনি এমন একটি পথ থেকে নির্মাণ করছেন যাতে স্পেস রয়েছে। তাই এটা করবেন না.

আপনি যদি emacs শেল উইন্ডো থেকে পরীক্ষা চালাচ্ছেন, আপনি op/stat.t-এ ব্যর্থতা দেখতে পাবেন।
সেই ক্ষেত্রে "dmake test-notty" চালান।

উপরন্তু, আপনার নিশ্চিত হওয়া উচিত যে "মেক টেস্ট" এর সময় আপনার কাছে কোনো GNU টুল নেই
আপনার পথের প্যাকেজ: ইউনিক্সটিলসের মতো কিছু টুলকিটে কিছু টুল রয়েছে (এর জন্য "টাইপ"
উদাহরণ) যা উইন্ডোজকে ওভাররাইড করে এবং পরীক্ষাগুলিকে ব্যর্থ করে। তাদের আপনার পথ থেকে সরান
এই ত্রুটিগুলি এড়াতে পরীক্ষার সময়।

অনুগ্রহ করে "বাগস এবং সতর্কতা" এর অধীনে বর্ণিত অন্য কোনো ব্যর্থতার প্রতিবেদন করুন।

স্থাপন of পার্ল on উইন্ডোজ
"dmake install" (বা "nmake install") টাইপ করুন। এই নতুন নির্মিত পার্ল করা হবে এবং
মেকফাইলে "INST_TOP" যা নির্দেশ করে তার অধীনে লাইব্রেরি। এটিও ইনস্টল করবে
"$INST_TOP\$INST_VER\lib\pod" এর অধীনে পড ডকুমেন্টেশন এবং এর অধীনে এর HTML সংস্করণ
"$INST_TOP\$INST_VER\lib\pod\html"।

আপনি সবেমাত্র ইনস্টল করা পার্ল ব্যবহার করতে আপনাকে আপনার PATH-এ একটি নতুন এন্ট্রি যোগ করতে হবে
পরিবেশ পরিবর্তনশীল: "$INST_TOP\bin", যেমন

PATH=c:\perl\bin;%PATH% সেট করুন

আপনি যদি মেকফাইলে "INST_VER" এবং "INST_ARCH" আনকমেন্ট করতে বেছে নেন তাহলে ইনস্টলেশন
গঠনটি একটু বেশি জটিল এবং আপনাকে দুটি নতুন PATH উপাদান যোগ করতে হবে
পরিবর্তে: "$INST_TOP\$INST_VER\bin" এবং "$INST_TOP\$INST_VER\bin\$ARCHNAME", যেমন

PATH=c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH% সেট করুন

ব্যবহার সংকেতগুলি উন্নত পার্ল on উইন্ডোজ
পরিবেশ ভেরিয়েবল
বিল্ড করার সময় আপনি যে ইনস্টলেশন পাথগুলি সেট করেছেন তা পার্লে সংকলিত হয়, তাই আপনি
সেই পার্ল ব্যবহার শুরু করার জন্য অতিরিক্ত কিছু করতে হবে না (এর অবস্থান যোগ করা ছাড়া
আপনার PATH ভেরিয়েবলে)।

আপনি যদি অস্বাভাবিক জায়গায় এক্সটেনশন রাখেন, আপনি PERL5LIB কে পাথের তালিকায় সেট করতে পারেন
সেমিকোলন দ্বারা পৃথক করা হয়েছে যেখানে আপনি পার্ল লাইব্রেরি খুঁজতে চান। খোঁজা
অন্যান্য পরিবেশের ভেরিয়েবলের বিবরণ যা আপনি perlrun এ সেট করতে পারেন।

আপনি শেলটিও নিয়ন্ত্রণ করতে পারেন যা পার্ল চালানোর জন্য ব্যবহার করে পদ্ধতি() এবং ব্যাকটিক কমান্ড
PERL5SHELL এর মাধ্যমে। perlrun দেখুন।

পার্ল রেজিস্ট্রির উপর নির্ভর করে না, তবে এটি নির্দিষ্ট ডিফল্ট মান দেখতে পারে যদি আপনি
তাদের সেখানে রাখা চয়ন করুন। পার্ল থেকে এন্ট্রি পড়ার চেষ্টা করে
"HKEY_CURRENT_USER\Software\Perl" এবং "HKEY_LOCAL_MACHINE\Software\Perl"। এন্ট্রি
পরবর্তীতে প্রাক্তন ওভাররাইড এন্ট্রি। নিম্নলিখিত এন্ট্রিগুলির এক বা একাধিক (এর
REG_SZ বা REG_EXPAND_SZ) টাইপ সেট করা যেতে পারে:

@INC-তে যোগ করার জন্য lib-$] সংস্করণ-নির্দিষ্ট স্ট্যান্ডার্ড লাইব্রেরি পাথ
@INC-তে যোগ করার জন্য lib স্ট্যান্ডার্ড লাইব্রেরি পাথ
@INC-তে যোগ করার জন্য sitelib-$] সংস্করণ-নির্দিষ্ট সাইট লাইব্রেরি পাথ
@INC-তে যোগ করার জন্য sitelib সাইট লাইব্রেরি পাথ
@INC-তে যোগ করার জন্য vendorlib-$] সংস্করণ-নির্দিষ্ট ভেন্ডর লাইব্রেরি পাথ
@INC-তে যোগ করার জন্য vendorlib বিক্রেতা লাইব্রেরি পাথ
"PERL" দিয়ে শুরু হওয়া সমস্ত %ENV লুকআপের জন্য PERL* ফলব্যাক

নোট করুন উপরের $] আক্ষরিক নয়। পার্লের যে কোন সংস্করণ আপনি চান প্রতিস্থাপন করুন
সেই এন্ট্রিকে সম্মান করতে, যেমন 5.6.0. পাথগুলিকে সেমিকোলন দিয়ে আলাদা করতে হবে, যথারীতি চালু আছে৷
উইন্ডোজ।

ফাইল গ্লোবিং
ডিফল্টরূপে, পার্ল ফাইল::গ্লোব এক্সটেনশন ব্যবহার করে ফাইল গ্লবিং পরিচালনা করে, যা প্রদান করে
পোর্টেবল গ্লোবিং।

আপনি যদি পার্ল গ্লোবিং ব্যবহার করতে চান যা ডস ফাইলনাম কনভেনশনের ব্যঙ্গগুলিকে অনুকরণ করে,
আপনি অভ্যন্তরীণ ওভাররাইড করতে File::DosGlob ব্যবহার করে বিবেচনা করতে চাইতে পারেন গ্লোব()
বাস্তবায়ন. বিস্তারিত জানার জন্য ফাইল::ডসগ্লোব দেখুন।

কমান্ড লাইন থেকে পার্ল ব্যবহার করে
আপনি যদি ইউনিক্সে পাওয়া বিভিন্ন কমান্ড-লাইন শেল থেকে পার্ল ব্যবহার করতে অভ্যস্ত হন
পরিবেশে, উইন্ডোজ যা অফার করে তাতে আপনি খুশি হবেন না
কমান্ড শেল।

উইন্ডোজ এনভায়রনমেন্ট সম্পর্কে বোঝার জন্য গুরুত্বপূর্ণ বিষয় হল কমান্ড লাইন
পার্ল এটি দেখার আগে আপনি টাইপ করুন দুইবার প্রক্রিয়া করা হয়. প্রথমত, আপনার কমান্ড শেল
(সাধারণত CMD.EXE) কমান্ড লাইন প্রিপ্রসেস করে, পুনঃনির্দেশ, পরিবেশ পরিচালনা করতে
পরিবর্তনশীল সম্প্রসারণ, এবং চালানোর জন্য এক্সিকিউটেবলের অবস্থান। তারপর, পার্ল এক্সিকিউটেবল
C রানটাইম ব্যবহার করে অবশিষ্ট কমান্ড লাইনকে পৃথক আর্গুমেন্টে বিভক্ত করে
লাইব্রেরি যার উপর পার্ল নির্মিত হয়েছিল।

এটি বিশেষভাবে লক্ষ্য করা গুরুত্বপূর্ণ যে শেল বা সি রানটাইম কোনটিই করে না
ওয়াইল্ডকার্ড কমান্ড-লাইন আর্গুমেন্টের সম্প্রসারণ (তাই ওয়াইল্ডকার্ড উদ্ধৃত করার প্রয়োজন নেই)।
এছাড়াও, শেলের উদ্ধৃতিমূলক আচরণ এবং সি রানটাইম সর্বোত্তমভাবে প্রাথমিক
(এবং, যদি আপনি একটি অ-মানক শেল ব্যবহার করেন তবে অসঙ্গতিপূর্ণ হতে পারে)। একমাত্র (উপযোগী)
উদ্ধৃতি অক্ষর হল ডবল উদ্ধৃতি (")। এটি স্পেস এবং অন্যান্য সুরক্ষার জন্য ব্যবহার করা যেতে পারে
আর্গুমেন্টে বিশেষ অক্ষর।

উইন্ডোজ ডকুমেন্টেশন এখানে শেল পার্সিং নিয়ম বর্ণনা করে:
<http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=সত্য>
এবং C রানটাইম পার্সিং নিয়ম এখানে:
<http://msdn.microsoft.com/en-us/library/17w5ykft%28v=VS.100%29.aspx>।

এখানে পরীক্ষা-নিরীক্ষার উপর ভিত্তি করে আরও কিছু পর্যবেক্ষণ রয়েছে: C রানটাইম বিরতি
স্পেস এ আর্গুমেন্ট করে এবং এগুলিকে argc/argv-এ প্রোগ্রামে পাঠায়। ডাবল কোট হতে পারে
বিভক্ত হওয়া থেকে তাদের মধ্যে স্পেস সহ আর্গুমেন্ট প্রতিরোধ করতে ব্যবহৃত হয়। আপনি একটি লাগাতে পারেন
একটি ব্যাকস্ল্যাশ দিয়ে এস্কেপ করে এবং পুরোটা জুড়ে দিয়ে একটি যুক্তিতে ডবল উদ্ধৃতি
ডবল উদ্ধৃতি মধ্যে যুক্তি. ব্যাকস্ল্যাশ এবং জোড়া উদ্ধৃতি
যুক্তি ঘিরে C রানটাইম দ্বারা ছিনতাই করা হবে।

ফাইল পুনঃনির্দেশ অক্ষর "<", ">", এবং "|" ডবল উদ্ধৃতি দ্বারা উদ্ধৃত করা যেতে পারে
(যদিও এমন পরামর্শ রয়েছে যে এটি সর্বদা সত্য নাও হতে পারে)। একক উদ্ধৃতি হয়
শেল বা C রানটাইম দ্বারা উদ্ধৃতি হিসাবে বিবেচনা করা হয় না, তারা দ্বারা ছিনতাই করা হয় না
শেল (শুধুমাত্র এই ধরণের উদ্ধৃতি সম্পূর্ণরূপে অকেজো করতে)। ক্যারেট "^" আছে
একটি উদ্ধৃতি চরিত্র হিসাবে আচরণ করতে দেখা গেছে, তবে এটি একটি শেল বলে মনে হচ্ছে
বৈশিষ্ট্য, এবং ক্যারেট কমান্ড লাইন থেকে ছিনতাই করা হয়নি, তাই পার্ল এখনও এটি দেখে
(এবং C রানটাইম ফেজ ক্যারেটকে একটি উদ্ধৃতি চরিত্র হিসাবে বিবেচনা করে না)।

এখানে "cmd" শেল ব্যবহারের কিছু উদাহরণ রয়েছে:

এটি দুটি দ্বিগুণ উদ্ধৃতি প্রিন্ট করে:

perl -e "প্রিন্ট '\"\"' "

এটি একই কাজ করে:

perl -e "মুদ্রণ \"\\\"\\\"\"

এটি "বার" মুদ্রণ করে এবং "ব্লার্চ" ফাইলে "foo" লিখে:

perl -e "প্রিন্ট 'foo'; প্রিন্ট STDERR 'bar'"> ব্লার্চ

এটি "foo" প্রিন্ট করে ("বার" কোথাও অদৃশ্য হয়ে যায়):

perl -e "প্রিন্ট 'foo'; প্রিন্ট STDERR 'bar'" 2> nul

এটি "বার" মুদ্রণ করে এবং "ব্লার্চ" ফাইলে "foo" লিখে:

perl -e "প্রিন্ট 'foo'; প্রিন্ট STDERR 'bar'" 1> ব্লার্চ

এই পাইপ "foo" কে "কম" পেজারে দেয় এবং কনসোলে "বার" প্রিন্ট করে:

perl -e "প্রিন্ট 'foo'; প্রিন্ট STDERR 'bar'" | কম

এই পাইপ "foo\nbar\n" কম পেজারে:

perl -le "প্রিন্ট 'foo'; প্রিন্ট STDERR 'bar'" 2>&1 | কম

এটি পেজারে "foo" পাইপ করে এবং "ব্লার্চ" ফাইলে "বার" লেখে:

perl -e "প্রিন্ট 'foo'; প্রিন্ট STDERR 'bar'" 2> ব্লার্চ | কম

Windows 9x-এ "command.com" শেলটির উপযোগিতা আবিষ্কার করা একটি হিসাবে বাকি আছে
পাঠকের জন্য অনুশীলন :)

উইন্ডোজের জন্য 4NT কমান্ড শেলের সাথে একটি বিশেষভাবে ক্ষতিকারক সমস্যা হল এটি
(প্রায়) সর্বদা একটি % অক্ষরকে পরিবেশ পরিবর্তনশীল সম্প্রসারণ নির্দেশ করে
প্রয়োজন হয়. এই শেলের অধীনে, তাই সবসময় যেকোনো % দ্বিগুণ করা গুরুত্বপূর্ণ
অক্ষর যা আপনি পার্ল দেখতে চান (উদাহরণস্বরূপ, হ্যাশ ভেরিয়েবলের জন্য), এমনকি যখন
তারা উদ্ধৃত হয়.

বিল্ডিং এক্সটেনশন
কম্প্রিহেনসিভ পার্ল আর্কাইভ নেটওয়ার্ক (CPAN) প্রচুর এক্সটেনশন অফার করে, কিছু
যা তৈরি করতে একটি সি কম্পাইলার প্রয়োজন। ভিতরে তাকানhttp://www.cpan.org/> আরো জন্য
CPAN এর তথ্য।

মনে রাখবেন যে CPAN থেকে উপলব্ধ সমস্ত এক্সটেনশন উইন্ডোজে কাজ করতে পারে না
পরিবেশ আপনি তথ্য পরীক্ষা করা উচিতhttp://www.cpantesters.org/> আগে
পোর্টিং মডিউলগুলিতে অত্যধিক প্রচেষ্টা বিনিয়োগ করা যা সহজেই তৈরি হয় না।

বেশিরভাগ এক্সটেনশন (তাদের একটি সি কম্পাইলারের প্রয়োজন হোক বা না হোক) তৈরি করা, পরীক্ষা করা এবং
প্রমিত মন্ত্রের সাথে ইনস্টল করা:

পার্ল Makefile.PL
$বানান
$MAKE পরীক্ষা
$MAKE ইনস্টল করুন

যেখানে $MAKE হল 'মেক' প্রোগ্রাম যা আপনি ব্যবহার করার জন্য পার্ল কনফিগার করেছেন। "পার্ল" ব্যবহার করুন
এটি কী তা খুঁজে বের করতে -V:make"। কিছু এক্সটেনশন টেস্টসুইট প্রদান নাও করতে পারে (তাই
"$MAKE পরীক্ষা" কিছু নাও করতে পারে বা ব্যর্থ হতে পারে), কিন্তু সবচেয়ে গুরুতর পরীক্ষা করে।

এটি গুরুত্বপূর্ণ যে আপনি একটি সমর্থিত 'মেক' প্রোগ্রাম ব্যবহার করুন এবং নিশ্চিত করুন যে Config.pm জানে
এটা সম্পর্কে আপনার যদি nmake না থাকে, আপনি হয় অবস্থান থেকে dmake পেতে পারেন
আগে উল্লিখিত বা nmake এর একটি পুরানো সংস্করণ পান

<http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe>

আরেকটি বিকল্প হল CPAN থেকে পাওয়া পার্লে লেখা মেক ব্যবহার করা।

<http://www.cpan.org/modules/by-module/Make/>

আপনি dmake ব্যবহার করতে পারেন। কিভাবে এটি পেতে উপরে "বানান" দেখুন.

মনে রাখবেন যে মেকমেকার আসলে কিসের উপর নির্ভর করে বিভিন্ন সিনট্যাক্স সহ মেকফাইল নির্গত করে
'বানান' এটা মনে করে আপনি ব্যবহার করছেন। অতএব, এটি গুরুত্বপূর্ণ যে নিম্নলিখিতগুলির মধ্যে একটি
মানগুলি Config.pm এ উপস্থিত হয়:

make='nmake' # MakeMaker nmake সিনট্যাক্স নির্গত করে
make='dmake' # MakeMaker dmake সিনট্যাক্স নির্গত করে
অন্য কোনো মান # MakeMaker জেনেরিক মেক সিনট্যাক্স নির্গত করে
(যেমন GNU মেক, বা পার্ল মেক)

যদি মানটি 'মেক' প্রোগ্রামের সাথে মেলে না যা আপনি ব্যবহার করতে চান, ঠিক করতে Config.pm সম্পাদনা করুন
এটা.

যদি একটি মডিউল XSUBs প্রয়োগ করে, তাহলে আপনার সমর্থিত C কম্পাইলারগুলির একটির প্রয়োজন হবে। আপনি
কমান্ড-লাইনের জন্য কম্পাইলারের জন্য আপনি পরিবেশ সেট আপ করেছেন তা নিশ্চিত করতে হবে
"perl Makefile.PL" বা মেক এর যেকোন আমন্ত্রণ চালানোর আগে সংকলন।

যদি কোনও মডিউল কোনও কারণে তৈরি না হয়, তবে কেন এটি ব্যর্থ হয়েছে তা সাবধানে দেখুন এবং
মডিউল লেখকের কাছে সমস্যা রিপোর্ট করুন। যদি এটি এক্সটেনশন বিল্ডিং সমর্থন মত দেখায়
ভুল আছে, পার্লবাগ ব্যবহার করে কীভাবে বিল্ড ব্যর্থ হয়েছে তার সম্পূর্ণ বিবরণ সহ রিপোর্ট করুন
ইউটিলিটি।

কমান্ড-লাইন ওয়াইল্ডকার্ড সম্প্রসারণ
DOS ডিসেন্ডেন্ট অপারেটিং সিস্টেমে ডিফল্ট কমান্ড শেল (যেমন তারা)
সাধারণত প্রোগ্রামগুলিতে সরবরাহ করা ওয়াইল্ডকার্ড আর্গুমেন্টগুলি প্রসারিত করবেন না। তারা এটা বিবেচনা
যে হ্যান্ডেল অ্যাপ্লিকেশন এর কাজ. এটি সাধারণত লিঙ্ক করে অর্জন করা হয়
অ্যাপ্লিকেশন (আমাদের ক্ষেত্রে, পার্ল) স্টার্টআপ কোড সহ যা সি রানটাইম লাইব্রেরি সাধারণত
প্রদান যাইহোক, এটি করার ফলে বেমানান পার্ল সংস্করণ হয় (যখন থেকে
argv সম্প্রসারণ কোডের আচরণ কম্পাইলারের উপর নির্ভর করে পৃথক হয় এবং এটি সমান
কিছু কম্পাইলারে বগি)। এছাড়াও, আপনি যদি এই জাতীয় ব্যবহার করেন তবে এটি হতাশার কারণ হতে পারে
একটি বিকল্প শেল সহ একটি পার্ল বাইনারি যা ওয়াইল্ডকার্ড প্রসারিত করে।

পরিবর্তে, নিম্নলিখিত সমাধান বরং ভাল কাজ করে। এটি সম্পর্কে চমৎকার জিনিস হল 1) আপনি
এখনই এটি ব্যবহার শুরু করতে পারেন; 2) এটি আরও শক্তিশালী, কারণ এটি সঠিক কাজ করবে
একটি প্যাটার্ন সহ জিনিস যেমন */*/*.c; 3) আপনি সিদ্ধান্ত নিতে পারেন যে আপনি ব্যবহার করতে চান না
এটা; এবং 4) আপনি যে কোনও কাস্টমাইজেশন (বা এমনকি সম্পূর্ণরূপে) যোগ করার জন্য পদ্ধতিটি প্রসারিত করতে পারেন
বিভিন্ন ধরণের ওয়াইল্ডকার্ড সম্প্রসারণ)।

C:\> কপি con c:\perl\lib\Wild.pm
# Wild.pm - এমন শেলগুলিতে শেল @ARGV সম্প্রসারণ অনুকরণ করুন যা নয়
File::DosGlob ব্যবহার করুন;
@ARGV = মানচিত্র {
আমার @g = ফাইল::ডসগ্লোব::গ্লোব($_) যদি /[*?]/;
@জি? @g : $_;
} @ARGV;
1;
^Z
C:\> PERL5OPT=-MWild সেট করুন
C:\> perl -le "এর জন্য (@ARGV) { প্রিন্ট }" */*/perl*.c
p4view/perl/perl.c
p4view/perl/perlio.c
p4view/perl/perly.c
perl5.005/win32/perlglob.c
perl5.005/win32/perllib.c
perl5.005/win32/perlglob.c
perl5.005/win32/perllib.c
perl5.005/win32/perlglob.c
perl5.005/win32/perllib.c

মনে রাখবেন সেখানে দুটি স্বতন্ত্র ধাপ রয়েছে: 1) আপনাকে Wild.pm তৈরি করতে হবে এবং এটি রাখতে হবে
আপনার পার্ল লিব ডিরেক্টরিতে। 2) আপনাকে PERL5OPT পরিবেশ পরিবর্তনশীল সেট করতে হবে।
আপনি যদি argv সম্প্রসারণ ডিফল্ট হতে চান, শুধু আপনার ডিফল্টে PERL5OPT সেট করুন
স্টার্টআপ পরিবেশ।

আপনি যদি ভিজ্যুয়াল সি কম্পাইলার ব্যবহার করেন তবে আপনি সি রানটাইমের কমান্ড লাইন পেতে পারেন
ওয়াইল্ডকার্ড সম্প্রসারণ পার্ল বাইনারি মধ্যে নির্মিত. ফলস্বরূপ বাইনারি সর্বদা প্রসারিত হবে
উদ্ধৃতিবিহীন কমান্ড লাইন, আপনি যদি এমন একটি শেল ব্যবহার করেন যা আপনি চান তা নাও হতে পারে
যে তোমার জন্য সম্প্রসারণ করা পদ্ধতির তুলনায় কিছুটা কম শক্তিশালী
উপরে প্রস্তাবিত।

64-বিট উইন্ডোজের নোট
Windows .NET সার্ভার ইন্টেল ইটানিয়াম আর্কিটেকচারে LLP64 ডেটা মডেল সমর্থন করে।

LLP64 ডেটা মডেল LP64 ডেটা মডেল থেকে আলাদা যা 64-বিটের আদর্শ।
ইউনিক্স প্ল্যাটফর্ম। পূর্বে, "int" এবং "লং" উভয়ই 32-বিট ডেটা প্রকার, যখন
পয়েন্টার 64 বিট প্রশস্ত। উপরন্তু, একটি পৃথক 64-বিট প্রশস্ত অবিচ্ছেদ্য আছে
টাইপ করুন, "__int64"। বিপরীতে, LP64 ডেটা মডেল যা ইউনিক্স প্ল্যাটফর্মে ব্যাপক
32-বিট টাইপ হিসাবে "int" প্রদান করে, যখন "লং" টাইপ এবং পয়েন্টার উভয়ই থাকে
64-বিট নির্ভুলতা। নোট করুন যে উভয় মডেলই ঠিকানাযোগ্যতার 64-বিট প্রদান করে।

Itanium-এ চলমান 64-বিট উইন্ডোজ 32-বিট x86 বাইনারি চালাতে সক্ষম
স্বচ্ছভাবে এর মানে হল যে আপনি 32-বিটে পার্লের একটি 64-বিট বিল্ড ব্যবহার করতে পারেন
পদ্ধতি. এটি দেওয়া, কেন কেউ পার্লের একটি 64-বিট বিল্ড তৈরি করতে চাইবে? এখানে
কিছু কারণ আপনি কেন বিরক্ত করবেন:

· একটি 64-বিট নেটিভ অ্যাপ্লিকেশন Itanium হার্ডওয়্যারে অনেক বেশি দক্ষতার সাথে চলবে।

· প্রক্রিয়া আকারের কোন 2GB সীমা নেই।

· পার্ল স্বয়ংক্রিয়ভাবে 64-বিট উইন্ডোজের অধীনে নির্মিত হলে বড় ফাইল সমর্থন প্রদান করে।

একটি 64-বিট অ্যাপ্লিকেশনের ভিতরে পার্ল এম্বেড করা।

চলমান পার্ল স্ক্রিপ্ট
ইউনিক্সে পার্ল স্ক্রিপ্ট "#!" ব্যবহার করে (ওরফে "শেবাং") লাইনটি ওএসকে নির্দেশ করে যে এটি
perl ব্যবহার করে ফাইলটি চালানো উচিত। স্বেচ্ছাচারী নির্দেশ করার জন্য উইন্ডোজের কোন তুলনামূলক উপায় নেই
ফাইলগুলি এক্সিকিউটেবল।

পরিবর্তে, উইন্ডোজে প্লেইন টেক্সট ফাইল চালানোর জন্য সমস্ত উপলব্ধ পদ্ধতি ফাইলের উপর নির্ভর করে
"এক্সটেনশন"। পার্ল স্ক্রিপ্টগুলি চালানোর জন্য এটি ব্যবহার করার জন্য তিনটি পদ্ধতি রয়েছে:

1. "ফাইল এক্সটেনশন অ্যাসোসিয়েশন" নামে একটি সুবিধা রয়েছে। এই ম্যানিপুলেট করা যেতে পারে
"assoc" এবং "ftype" দুটি কমান্ডের মাধ্যমে যা উইন্ডোজের সাথে মানসম্মত হয়। টাইপ
"ftype /?" পার্ল স্ক্রিপ্টের জন্য এটি কীভাবে সেট আপ করবেন তার একটি সম্পূর্ণ উদাহরণের জন্য (বলুন
কি? আপনি ভেবেছিলেন উইন্ডোজ পার্ল-প্রস্তুত ছিল না? :)।

2. যেহেতু ফাইল অ্যাসোসিয়েশন সব জায়গায় কাজ করে না, এবং সেখানে বাগ আছে বলে জানা গেছে
ফাইল অ্যাসোসিয়েশন যেখানে এটি কাজ করে, পার্ল স্ক্রিপ্ট মোড়ানোর পুরানো পদ্ধতি
এটিকে OS-এ একটি নিয়মিত ব্যাচ ফাইলের মতো দেখাতে, ব্যবহার করা যেতে পারে। ইনস্টল
প্রক্রিয়াটি "pl2bat.bat" স্ক্রিপ্ট উপলব্ধ করে যা পার্লকে মোড়ানোর জন্য ব্যবহার করা যেতে পারে
ব্যাচ ফাইলে স্ক্রিপ্ট। উদাহরণ স্বরূপ:

pl2bat foo.pl

"FOO.BAT" ফাইল তৈরি করবে। দ্রষ্টব্য "pl2bat" যেকোন .pl প্রত্যয় স্ট্রিপ করে এবং a যোগ করে
.bat প্রত্যয় তৈরি করা ফাইলে।

আপনি যদি 4DOS/NT বা অনুরূপ কমান্ড শেল ব্যবহার করেন, মনে রাখবেন যে "pl2bat" "%*" ব্যবহার করে
সমস্ত কমান্ড লাইন আর্গুমেন্ট উল্লেখ করার জন্য উত্পন্ন ব্যাচ ফাইলের পরিবর্তনশীল,
তাই আপনাকে নিশ্চিত করতে হবে যে নির্মাণ ব্যাচ ফাইলগুলিতে কাজ করে। এই হিসাবে
লিখছেন, 4DOS/NT ব্যবহারকারীদের তাদের 4NT.INI-তে একটি "ParameterChar = *" বিবৃতির প্রয়োজন হবে।
ফাইল বা সক্ষম করতে 4DOS/NT স্টার্টআপ ফাইলে "setdos /p*" চালাতে হবে
এই কাজ করতে.

3. "pl2bat" ব্যবহারে কিছু সমস্যা আছে: ফাইলের নাম পরিবর্তন হয়ে যায়, তাই স্ক্রিপ্ট হয়
তারা যা করতে হবে তা খুঁজে পেতে $0 এর উপর নির্ভর করুন সঠিকভাবে নাও চলতে পারে। চলমান "pl2bat"
মূল স্ক্রিপ্টের বিষয়বস্তু প্রতিলিপি করে, এবং তাই এই প্রক্রিয়া হতে পারে
মূলগুলি প্রায়শই আপডেট করা হলে রক্ষণাবেক্ষণ নিবিড়। একটি ভিন্ন পদ্ধতি
যে উভয় সমস্যা এড়ানো সম্ভব.

"runperl.bat" নামে একটি স্ক্রিপ্ট পাওয়া যায় যা যেকোনো ফাইলের নামে কপি করা যায়
(.bat প্রত্যয় সহ)। উদাহরণস্বরূপ, আপনি এটিকে "foo.bat" বলে ডাকলে এটি চলবে
ফাইল "foo" যখন এটি কার্যকর করা হয়। যেহেতু আপনি উইন্ডোজে ব্যাচ ফাইল চালাতে পারেন
প্ল্যাটফর্মগুলি কেবল নাম টাইপ করে (এক্সটেনশন ছাড়া), এটি কার্যকরভাবে চলে
ফাইল "foo", যখন আপনি "foo" বা "foo.bat" টাইপ করেন। এই পদ্ধতিতে,
"foo.bat" এমনকি "foo" ফাইলের চেয়ে ভিন্ন অবস্থানে থাকতে পারে, যতক্ষণ না
"foo" PATH-এ কোথাও পাওয়া যায়। যদি আপনার স্ক্রিপ্টগুলি একটি ফাইল সিস্টেমে থাকে
এটি প্রতীকী লিঙ্কগুলিকে অনুমতি দেয়, আপনি এমনকি "runperl.bat" অনুলিপি করা এড়াতে পারেন।

এখানে একটি ডাইভারশন: "runperl.bat" কে "runperl" তে কপি করুন এবং "runperl" টাইপ করুন। ব্যাখ্যা করা
পর্যবেক্ষণ করা আচরণ, বা এর অভাব। :) ইঙ্গিত: .gnidnats llits er'uoy fi
"lrepnur" eteled :tniH

বিবিধ থিংস
এইচটিএমএল ডকুমেন্টেশনের একটি সম্পূর্ণ সেট ইনস্টল করা আছে, তাই আপনার কাছে থাকলে এটি ব্যবহার করতে সক্ষম হওয়া উচিত
আপনার সিস্টেমে ইনস্টল করা একটি ওয়েব ব্রাউজার।

ডকুমেন্টেশনে থাকা তথ্য ব্রাউজ করার জন্য "perldoc" একটি দরকারী টুল,
বিশেষ করে "কম" এর মতো পেজারের সাথে একত্রে (যার সাম্প্রতিক সংস্করণে উইন্ডোজ রয়েছে
সমর্থন)। একটি নির্দিষ্ট পেজার ব্যবহার করার জন্য আপনাকে PAGER পরিবেশ পরিবর্তনশীল সেট করতে হতে পারে।
"perldoc -f foo" পার্ল অপারেটর "foo" সম্পর্কে তথ্য মুদ্রণ করবে।

"Tk" এর মতো একটি GUI লাইব্রেরির সাথে এই পোর্টটি ব্যবহার করার সময় একটি সাধারণ ভুল অনুমান করা হচ্ছে
একটি কমান্ড-লাইন উইন্ডো খোলার পার্লের স্বাভাবিক আচরণ চলে যাবে। এই না
মামলা আপনি যদি কমান্ড-লাইন উইন্ডো না খুলে "পার্ল" এর একটি অনুলিপি শুরু করতে চান তবে ব্যবহার করুন
ইনস্টলেশন প্রক্রিয়া চলাকালীন নির্মিত "wperl" এক্সিকিউটেবল। ব্যবহার ঠিক একই
উইন্ডোজে সাধারণ "পার্ল" হিসাবে, "-এইচ" এর মত বিকল্পগুলি কাজ করে না (যেহেতু তাদের একটি প্রয়োজন
প্রিন্ট করার জন্য কমান্ড-লাইন উইন্ডো)।

আপনি যদি পার্লে বাগ খুঁজে পান, আপনি একটি বাগ রিপোর্ট তৈরি করতে "পারলবাগ" চালাতে পারেন (আপনাকে হতে পারে
এটি ম্যানুয়ালি পাঠান যদি "perlbug" আপনার সিস্টেমে একটি মেইলার খুঁজে না পায়)।

onworks.net পরিষেবা ব্যবহার করে অনলাইনে perlwin32 ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম