ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

OnWorks favicon

perlwin32 - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ perlwin32 ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ perlwin32 ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


perlwin32 - Perl ພາຍໃຕ້ Windows

ສະຫຼຸບສັງລວມ


ເຫຼົ່ານີ້ແມ່ນຄໍາແນະນໍາສໍາລັບການກໍ່ສ້າງ Perl ພາຍໃຕ້ Windows 2000 ແລະຕໍ່ມາ.

ລາຍລະອຽດ


ກ່ອນທີ່ທ່ານຈະເລີ່ມຕົ້ນ, ທ່ານຄວນເບິ່ງຜ່ານໄຟລ໌ README ທີ່ພົບເຫັນໃນລະດັບສູງສຸດ
ໄດເລກະທໍລີທີ່ການແຈກຢາຍ Perl ຖືກສະກັດອອກ. ໃຫ້ແນ່ໃຈວ່າທ່ານອ່ານແລະເຂົ້າໃຈ
ຂໍ້ກໍານົດພາຍໃຕ້ການແຈກຢາຍຊອບແວນີ້.

ນອກຈາກນັ້ນ, ໃຫ້ແນ່ໃຈວ່າທ່ານອ່ານ "ຂໍ້ບົກພ່ອງແລະຂໍ້ຄວນລະວັງ" ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ຈໍາກັດທີ່ຮູ້ຈັກຂອງພອດນີ້.

ໄຟລ໌ INSTALL ໃນລະດັບສູງສຸດ perl ມີຂໍ້ມູນຫຼາຍຢ່າງທີ່ກ່ຽວຂ້ອງກັບພຽງແຕ່
ຄົນທີ່ສ້າງ Perl ໃນລະບົບທີ່ຄ້າຍຄືກັບ Unix. ໂດຍສະເພາະ, ທ່ານສາມາດບໍ່ສົນໃຈຢ່າງປອດໄພໃດໆ
ຂໍ້ມູນທີ່ເວົ້າກ່ຽວກັບ "Configure".

ທ່ານອາດຈະຕ້ອງການເບິ່ງທາງເລືອກອື່ນສໍາລັບການກໍ່ສ້າງ perl ທີ່ຈະເຮັດວຽກ
Windows: ໄຟລ໌ README.cygwin, ເຊິ່ງໃຫ້ກົດລະບຽບທີ່ແຕກຕ່າງກັນເພື່ອສ້າງ perl ສໍາລັບ
Windows. ວິທີການນີ້ອາດຈະຊ່ວຍໃຫ້ທ່ານສ້າງ perl ທີ່ເຂົ້າກັນໄດ້ກັບ Unix, ແຕ່
ທ່ານຍັງຈະຕ້ອງໄດ້ດາວນ໌ໂຫລດແລະນໍາໃຊ້ຕ່າງໆສະຫນັບສະຫນູນການກໍ່ສ້າງແລະເວລາແລ່ນອື່ນໆ
ຊອບແວທີ່ອະທິບາຍໄວ້ໃນໄຟລ໌ນັ້ນ.

ຊຸດຂອງຄໍາແນະນໍານີ້ແມ່ນຫມາຍເຖິງການອະທິບາຍອັນທີ່ເອີ້ນວ່າພອດ "native" ຂອງ Perl ກັບ
ເວທີ Windows. ນີ້ປະກອບມີທັງ 32-bit ແລະ 64-bit ລະບົບປະຕິບັດການ Windows. ໄດ້
ຜົນໄດ້ຮັບ Perl ຕ້ອງການບໍ່ມີຊອບແວເພີ່ມເຕີມເພື່ອດໍາເນີນການ (ນອກຈາກສິ່ງທີ່ມາພ້ອມກັບຂອງທ່ານ
ລະ​ບົບ​ປະ​ຕິ​ບັດ​ການ). ໃນປັດຈຸບັນ, ທ່າເຮືອນີ້ແມ່ນສາມາດນໍາໃຊ້ຫນຶ່ງໃນດັ່ງຕໍ່ໄປນີ້
compilers ໃນສະຖາປັດຕະຍະກໍາ Intel x86:

Microsoft Visual C++ ເວີຊັ່ນ 6.0 ຫຼືໃໝ່ກວ່າ
Intel C++ Compiler (ທົດລອງ)
Gcc ໂດຍ mingw.org gcc ເວີຊັນ 3.4.5 ຫຼືຫຼັງຈາກນັ້ນ
Gcc ໂດຍ mingw-w64.org gcc ເວີຊັນ 4.4.3 ຫຼືໃໝ່ກວ່າ

ໃຫ້ສັງເກດວ່າສອງອັນສຸດທ້າຍຂອງເຫຼົ່ານີ້ແມ່ນໂຄງການແຂ່ງຂັນຕົວຈິງທັງສອງໃຫ້ສໍາເລັດ
gcc toolchain ສໍາລັບ MS Windows:

<http://mingw.org>
ສົ່ງ gcc toolchain ເປົ້າຫມາຍ 32-bit Windows platform.

<http://mingw-w64.org>
ສົ່ງ gcc toolchain ເປົ້າຫມາຍທັງ Windows 64-bit ແລະແພລະຕະຟອມ Windows 32-bit
(ເຖິງວ່າຈະມີຊື່ໂຄງການ "mingw-w64" ພວກເຂົາເຈົ້າບໍ່ພຽງແຕ່ 64-bit ຮັດກຸມ). ພວກເຂົາເຈົ້າຈັດສົ່ງ
gcc compilers ພື້ນເມືອງແລະ cross-compilers ທີ່ໄດ້ຮັບການສະຫນັບສະຫນູນໂດຍ perl's
makefile.

ດຽວນີ້ Microsoft Visual C++ compilers ໄດ້ຖືກມອບໃຫ້ຟຣີ. ເຂົາເຈົ້າມີຢູ່
ເປັນ "Visual C++ Toolkit 2003" ຫຼື "Visual C++ 2005-2013 Express Edition" (ແລະຍັງເປັນສ່ວນຫນຶ່ງຂອງ
ຂອງ ".NET Framework SDK") ແລະເປັນ compilers ດຽວກັນທີ່ສົ່ງກັບ "Visual C++ .NET.
2003 Professional" ຫຼື "Visual C++ 2005-2013 Professional" ຕາມລໍາດັບ.

ພອດນີ້ຍັງສາມາດສ້າງຢູ່ໃນ IA64/AMD64 ໂດຍໃຊ້:

Microsoft Platform SDK Nov 2001 (ຕົວສັງລວມ ແລະເຄື່ອງມື 64-bit)
MinGW64 compiler (gcc ເວີ​ຊັນ 4.4.3 ຫຼື​ຫຼັງ​ຈາກ​ນັ້ນ​)

Windows SDK ສາມາດດາວໂຫຼດໄດ້ຈາກhttp://www.microsoft.com/>. ການລວບລວມຂໍ້ມູນ MinGW64
ມີຢູ່http://mingw-w64.org>. ອັນສຸດທ້າຍແມ່ນຕົວຈິງແລ້ວເປັນການຕັ້ງເປົ້າໝາຍຂ້າມຄອມພີວເຕີ
Win64. ນອກນັ້ນຍັງມີຕົວ compiler ທີ່ຖືກຕັດລົງ (ບໍ່ມີ java, ຫຼື gfortran) ທີ່ເຫມາະສົມສໍາລັບການກໍ່ສ້າງ
perl ມີຢູ່:http://strawberryperl.com/package/kmx/64_gcctoolchain/>

ຫມາຍ​ເຫດ​: ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ກໍາ​ລັງ​ໃຊ້ 32-bit compiler ເພື່ອ​ສ້າງ perl ໃນ​ການ​ປະ​ຕິ​ບັດ​ການ 64-bit Windows
ລະບົບ, ຫຼັງຈາກນັ້ນທ່ານຄວນຕັ້ງຕົວແປສະພາບແວດລ້ອມ WIN64 ເປັນ "undef". ນອກຈາກນີ້, trimmed
down compiler ພຽງແຕ່ຜ່ານການທົດສອບເມື່ອ USE_ITHREADS *= ກໍານົດ (ກົງກັນຂ້າມກັບ undef) ແລະເວລາໃດ.
CFG *= ເສັ້ນ Debug ຖືກສະແດງຄວາມຄິດເຫັນອອກ.

ພອດນີ້ສະຫນັບສະຫນູນ MakeMaker ຢ່າງເຕັມສ່ວນ (ຊຸດຂອງໂມດູນທີ່ຖືກນໍາໃຊ້ເພື່ອສ້າງສ່ວນຂະຫຍາຍ
perl). ດັ່ງນັ້ນ, ທ່ານຄວນຈະສາມາດສ້າງແລະຕິດຕັ້ງສ່ວນຂະຫຍາຍສ່ວນໃຫຍ່ທີ່ພົບເຫັນຢູ່ໃນ
ສະຖານທີ່ CPAN. ເບິ່ງ "Usage Hints for Perl on Windows" ຂ້າງລຸ່ມນີ້ສໍາລັບຄໍາແນະນໍາທົ່ວໄປກ່ຽວກັບເລື່ອງນີ້.

ການຕັ້ງຄ່າ Up Perl on Windows
ເຮັດໃຫ້
ທ່ານຕ້ອງການໂຄງການ "ເຮັດ" ເພື່ອສ້າງແຫຼ່ງ. ຖ້າທ່ານກໍາລັງໃຊ້ Visual C ++ ຫຼື
ເຄື່ອງມື Windows SDK, nmake ຈະເຮັດວຽກ. ກໍ່ສ້າງໂດຍໃຊ້ gcc ຕ້ອງການ dmake.

dmake ເປັນຜູ້ຜະລິດທີ່ມີໃຫ້ໂດຍບໍ່ເສຍຄ່າທີ່ມີລັກສະນະມະຫາພາກທີ່ສວຍງາມແລະ
ການຂະຫນານ.

ພອດຂອງ dmake ສໍາລັບ Windows ສາມາດໃຊ້ໄດ້ຈາກ:

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

ດຶງເອົາແລະຕິດຕັ້ງ dmake ບາງບ່ອນຢູ່ໃນເສັ້ນທາງຂອງເຈົ້າ.

Command Shell
ໃຊ້ shell "cmd" ເລີ່ມຕົ້ນທີ່ມາພ້ອມກັບ Windows. ບາງຮຸ່ນຂອງທີ່ນິຍົມ
Shell 4DOS/NT ມີຄວາມເຂົ້າກັນບໍ່ໄດ້ທີ່ອາດຈະເຮັດໃຫ້ທ່ານມີບັນຫາ. ຖ້າການກໍ່ສ້າງລົ້ມເຫລວ
ພາຍໃຕ້ shell ນັ້ນ, ລອງສ້າງອີກຄັ້ງດ້ວຍ cmd shell.

ໃຫ້ແນ່ໃຈວ່າເສັ້ນທາງໄປຫາໄດເລກະທໍລີ build ບໍ່ມີຊ່ອງຫວ່າງ. ການກໍ່ສ້າງປົກກະຕິແລ້ວ
ເຮັດວຽກຢູ່ໃນສະຖານະການນີ້, ແຕ່ການທົດສອບບາງຢ່າງຈະລົ້ມເຫລວ.

Microsoft Visual C ++
nmake ທີ່ມາພ້ອມກັບ Visual C ++ ຈະພຽງພໍສໍາລັບການກໍ່ສ້າງ. Visual C ຕ້ອງການນັ້ນ
ບາງສິ່ງທີ່ຖືກຕັ້ງຢູ່ໃນ console ກ່ອນທີ່ Visual C ຈະດໍາເນີນການຢ່າງສໍາເລັດຜົນ. ເພື່ອເຮັດໃຫ້
ກ່ອງຄອນໂຊສາມາດເປີດໃຊ້ C compiler ໄດ້, ທ່ານຈະຕ້ອງການລ່ວງຫນ້າ, ດໍາເນີນການ
"vcvars32.bat" ໄຟລ໌ທີ່ຈະລວບລວມສໍາລັບ x86-32 ແລະສໍາລັບ x86-64 "vcvarsall.bat x64" ຫຼື
"vcvarsamd64.bat". ໃນການຕິດຕັ້ງປົກກະຕິຂອງຜະລິດຕະພັນ Microsoft C compiler, batch ເຫຼົ່ານີ້
ໄຟລ໌ຈະຢູ່ໃນຕົວແປສະພາບແວດລ້ອມ "PATH" ຂອງເຈົ້າຢູ່ແລ້ວ ດັ່ງນັ້ນເຈົ້າອາດຈະພິມພວກມັນໄດ້
ໂດຍບໍ່ມີເສັ້ນທາງຢ່າງແທ້ຈິງເຂົ້າໄປໃນ console ຂອງທ່ານ. ຖ້າທ່ານຕ້ອງການຊອກຫາເສັ້ນທາງຢ່າງແທ້ຈິງ
ໄຟລ໌ batch, ມັນມັກຈະພົບເຫັນຢູ່ບ່ອນໃດຫນຶ່ງເຊັ່ນ C:\Program Files\Microsoft Visual
Studio\VC98\Bin. ດ້ວຍບາງຜະລິດຕະພັນຂອງ Microsoft C ທີ່ໃໝ່ກວ່າ (ປ່ອຍອອກມາຫຼັງຈາກ ~ 2004), ໄດ້
ຕົວຕິດຕັ້ງຈະໃສ່ທາງລັດໃນເມນູເລີ່ມຕົ້ນເພື່ອເປີດປ່ອງຢ້ຽມ console ໃຫມ່ດ້ວຍ
ຄອນໂຊນທີ່ຕັ້ງໄວ້ແລ້ວສໍາລັບສະຖາປັດຕະຍະກໍາເປົ້າຫມາຍຂອງທ່ານ (x86-32 ຫຼື x86-64 ຫຼື IA64).
ດ້ວຍຕົວສັງລວມທີ່ໃໝ່ກວ່າ, ທ່ານອາດຈະໃຊ້ໄຟລ໌ batch ທີ່ເກົ່າກວ່າຖ້າທ່ານເລືອກ.

ທ່ານຍັງສາມາດໃຊ້ dmake ເພື່ອສ້າງໂດຍໃຊ້ Visual C ++; ຢ່າງໃດກໍຕາມ, ທ່ານກໍານົດ OSRELEASE
ກັບ "microsft" (ຫຼືໃດກໍ່ຕາມຊື່ໄດເລກະທໍລີພາຍໃຕ້ Visual C dmake
ການ​ຕັ້ງ​ຄ່າ​ດໍາ​ລົງ​ຊີ​ວິດ​) ໃນ​ສະ​ພາບ​ແວດ​ລ້ອມ​ຂອງ​ທ່ານ​ແລະ​ແກ້​ໄຂ win32/config.vc ການ​ປ່ຽນ​ແປງ​
"make = nmake" ເຂົ້າໄປໃນ "make = dmake". ຂັ້ນຕອນສຸດທ້າຍແມ່ນມີຄວາມຈໍາເປັນພຽງແຕ່ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະນໍາໃຊ້
dmake ເປັນຄ່າເລີ່ມຕົ້ນຂອງທ່ານສ້າງສໍາລັບການຂະຫຍາຍການກໍ່ສ້າງໂດຍໃຊ້ MakeMaker.

Microsoft Visual C++ 2008-2013 Express Edition
ເວີຊັ່ນຟຣີເຫຼົ່ານີ້ຂອງ Visual C++ 2008-2013 Professional ປະກອບມີ compilers ດຽວກັນ.
ແລະຕົວເຊື່ອມຕໍ່ທີ່ສົ່ງກັບສະບັບເຕັມ, ແລະຍັງມີທຸກສິ່ງທຸກຢ່າງທີ່ຈໍາເປັນເພື່ອ
ສ້າງ Perl, ແທນທີ່ຈະຮຽກຮ້ອງໃຫ້ມີການດາວໂຫຼດແຍກຕ່າງຫາກຂອງ 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

(ສົມມຸດວ່າສະຖານທີ່ຕິດຕັ້ງເລີ່ມຕົ້ນຖືກເລືອກ).

ໃນປັດຈຸບັນ Perl ຄວນສ້າງໂດຍໃຊ້ win32/Makefile. ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ແກ້ໄຂໄຟລ໌ທີ່
ຕັ້ງ CCTYPE ເປັນໜຶ່ງໃນ MSVC90FREE-MSVC120FREE ກ່ອນ.

Microsoft Visual C++ 2005 Express Edition
ສະບັບຟຣີນີ້ຂອງ Visual C ++ 2005 Professional ມີ compiler ດຽວກັນແລະ
linker ທີ່ສົ່ງກັບສະບັບເຕັມ, ແຕ່ບໍ່ມີທຸກສິ່ງທຸກຢ່າງທີ່ຈໍາເປັນເພື່ອ
ສ້າງ Perl.

ນອກນັ້ນທ່ານຍັງຈະຕ້ອງໄດ້ດາວໂຫລດ "Windows SDK" ("Core SDK" ແລະ "MDAC SDK"
ອົງປະກອບແມ່ນຕ້ອງການ) ສໍາລັບໄຟລ໌ header ແລະຫ້ອງສະຫມຸດເພີ່ມເຕີມ.

ແພກເກດເຫຼົ່ານີ້ທັງສອງສາມາດດາວໂຫຼດໄດ້ໂດຍການຊອກຫາຢູ່ໃນສູນດາວໂຫຼດທີ່
<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.

ຕິດຕັ້ງ Visual C++ 2005 ທໍາອິດ, ຈາກນັ້ນ Platform 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 Visual Studio 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 Studio 8\VC\VCPackages;%PlatformSDKDir%\Bin

SET INCLUDE=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

(PlatformSDKDir ອາດ​ຈະ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ຕັ້ງ​ຄ່າ​ແຕກ​ຕ່າງ​ກັນ​ຂຶ້ນ​ກັບ​ສະ​ບັບ​ທີ່​ທ່ານ​
ກໍາລັງໃຊ້. ລຸ້ນກ່ອນໜ້ານີ້ຕິດຕັ້ງໃສ່ "C:\Program Files\Microsoft SDK", ໃນຂະນະທີ່
ເວີຊັນຫຼ້າສຸດຕິດຕັ້ງໃສ່ສະຖານທີ່ສະເພາະສະເພາະເຊັ່ນ "C:\Program
Files\Microsoft Platform SDK ສໍາລັບ Windows Server 2003 R2".)

ໃນປັດຈຸບັນ Perl ຄວນສ້າງໂດຍໃຊ້ win32/Makefile. ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ແກ້ໄຂໄຟລ໌ທີ່
ທີ່ກໍານົດໄວ້

CCTYPE = MSVC80ຟຣີ

ແລະຕັ້ງ CCHOME, CCINCDIR ແລະ CCLIBDIR ຕາມການຕັ້ງຄ່າສະພາບແວດລ້ອມຂ້າງເທິງ.

Microsoft Visual C++ Toolkit 2003
ຊຸດເຄື່ອງມືຟຣີນີ້ມີ compiler ແລະ linker ດຽວກັນທີ່ສົ່ງກັບ Visual C++ .NET
2003 ມືອາຊີບ, ແຕ່ບໍ່ມີທຸກສິ່ງທຸກຢ່າງທີ່ຈໍາເປັນເພື່ອສ້າງ Perl.

ທ່ານຍັງຈະຕ້ອງໄດ້ດາວໂຫລດ "Platform SDK" ("Core SDK" ແລະ "MDAC SDK"
ອົງປະກອບແມ່ນຕ້ອງການ) ສໍາລັບ header files, libraries ແລະ rc.exe, ແລະ ".NET Framework
SDK" ສໍາລັບຫ້ອງສະຫມຸດເພີ່ມເຕີມແລະ nmake.exe. ໃຫ້ສັງເກດວ່າອັນສຸດທ້າຍ (ເຊິ່ງລວມທັງ
free compiler and linker) ຕ້ອງການ ".NET Framework Redistributable" ເປັນ
ຕິດຕັ້ງກ່ອນ. ນີ້ສາມາດດາວໂຫລດແລະຕິດຕັ້ງແຍກຕ່າງຫາກ, ແຕ່ລວມຢູ່ໃນ
"Visual C++ Toolkit 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.

ຕິດຕັ້ງຊຸດເຄື່ອງມືກ່ອນ, ຈາກນັ້ນ Platform SDK, ຈາກນັ້ນ .NET Framework 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 INCLUDE=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

(PlatformSDKDir ອາດ​ຈະ​ຕ້ອງ​ໄດ້​ຮັບ​ການ​ຕັ້ງ​ຄ່າ​ແຕກ​ຕ່າງ​ກັນ​ຂຶ້ນ​ກັບ​ສະ​ບັບ​ທີ່​ທ່ານ​
ກໍາລັງໃຊ້. ລຸ້ນກ່ອນໜ້ານີ້ຕິດຕັ້ງໃສ່ "C:\Program Files\Microsoft SDK", ໃນຂະນະທີ່
ເວີຊັນຫຼ້າສຸດຕິດຕັ້ງໃສ່ສະຖານທີ່ສະເພາະສະເພາະເຊັ່ນ "C:\Program
Files\Microsoft Platform SDK ສໍາລັບ Windows Server 2003 R2".)

ໄຟລ໌ທີ່ຕ້ອງການຫຼາຍອັນຈະຍັງຂາດຫາຍໄປ:

· cvtres.exe ແມ່ນຕ້ອງການໂດຍ link.exe ເມື່ອໃຊ້ໄຟລ໌ .res. ມັນແມ່ນຕົວຈິງແລ້ວ
ຕິດຕັ້ງໂດຍ .NET Framework SDK, ແຕ່ເຂົ້າໄປໃນສະຖານທີ່ເຊັ່ນ:

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

ສຳເນົາມັນຈາກບ່ອນນັ້ນໄປທີ່ %PlatformSDKDir%\Bin

· lib.exe ປົກກະຕິແລ້ວຖືກນໍາໃຊ້ເພື່ອສ້າງຫ້ອງສະຫມຸດ, ແຕ່ link.exe ກັບ / lib ທາງເລືອກ
ຍັງເຮັດວຽກໄດ້, ສະນັ້ນປ່ຽນ win32/config.vc ເພື່ອໃຊ້ມັນແທນ:

ປ່ຽນການອ່ານແຖວ:

ar='lib'

ຫາ:

ar='ລິ້ງ / lib'

ມັນອາດຈະເປັນປະໂຫຍດທີ່ຈະສ້າງໄຟລ໌ batch ທີ່ເອີ້ນວ່າ lib.bat ໃນ C:\Program
Files\Microsoft Visual C++ Toolkit 2003\bin ປະກອບດ້ວຍ:

@echo ປິດ
ການເຊື່ອມຕໍ່ / lib %*

ສໍາລັບຜົນປະໂຫຍດຂອງໂມດູນການຂະຫຍາຍ C naughty ທີ່ທ່ານອາດຈະຕ້ອງການທີ່ຈະສ້າງ
ຕໍ່ມາທີ່ອ້າງເຖິງ "lib" ຢ່າງຊັດເຈນແທນທີ່ຈະເອົາມູນຄ່າຂອງພວກເຂົາຈາກ
$Config{ar}.

· setargv.obj ຈໍາເປັນຕ້ອງສ້າງ perlglob.exe (ແລະ perl.exe ຖ້າ USE_SETARGV
ທາງ​ເລືອກ​ແມ່ນ​ເປີດ​ນໍາ​ໃຊ້​)​. Platform 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 ຈະບໍ່ຖືກຕ້ອງການຢ່າງໃດກໍ່ຕາມ.

ໃນປັດຈຸບັນ Perl ຄວນສ້າງໂດຍໃຊ້ win32/Makefile. ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ແກ້ໄຂໄຟລ໌ທີ່
ທີ່ກໍານົດໄວ້

CCTYPE = MSVC70ຟຣີ

ແລະຕັ້ງ CCHOME, CCINCDIR ແລະ CCLIBDIR ຕາມການຕັ້ງຄ່າສະພາບແວດລ້ອມຂ້າງເທິງ.

Microsoft Platform SDK 64-bit Compiler
nmake ທີ່ມາພ້ອມກັບ Platform SDK ຈະພຽງພໍສໍາລັບການກໍ່ສ້າງ Perl. ໃຫ້ແນ່ໃຈວ່າ
ທ່ານກໍາລັງສ້າງພາຍໃນຫນຶ່ງຂອງແກະ "ສ້າງສະພາບແວດລ້ອມ" ທີ່ມີຢູ່ຫຼັງຈາກທ່ານ
ຕິດຕັ້ງ Platform SDK ຈາກເມນູເລີ່ມຕົ້ນ.

MinGW ປ່ອຍ 3 ກັບ gcc
Perl ສາມາດຖືກລວບລວມດ້ວຍ gcc ຈາກ MinGW release 3 ແລະຕໍ່ມາ (ໃຊ້ gcc 3.4.5 ແລະ
ຕໍ່ມາ). ມັນສາມາດດາວໂຫຼດໄດ້ທີ່ນີ້:

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

ນອກນັ້ນທ່ານຍັງຕ້ອງການ dmake. ເບິ່ງ "ເຮັດ" ຂ້າງເທິງກ່ຽວກັບວິທີການເອົາມັນ.

Intel C++ Compiler
ໄດ້ມີການເພີ່ມການຮອງຮັບການທົດລອງໃຊ້ Intel C++ Compiler. ແກ້ໄຂ win32/Makefile
ແລະເລືອກ CCTYPE ທີ່ຖືກຕ້ອງສໍາລັບ Visual C ທີ່ Intel C ຖືກຕິດຕັ້ງໃສ່. ນອກຈາກນີ້
uncomment __ICC ເພື່ອເປີດໃຊ້ Intel C ໃນການສະຫນັບສະຫນູນ Visual C. ການ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​
ສະພາບແວດລ້ອມ, ຈາກ Start Menu ແລ່ນ IA-32 Visual Studio 20__ mode ຫຼື Intel 64 Visual
ໂໝດ Studio 20__ ຕາມຄວາມເໝາະສົມ. ຫຼັງຈາກນັ້ນ, ດໍາເນີນການ nmake ຕາມປົກກະຕິໃນກ່ອງເຕືອນນັ້ນ.

ມີພຽງແຕ່ Intel C++ Compiler v12.1 ເທົ່ານັ້ນທີ່ໄດ້ຮັບການທົດສອບ. ຮຸ່ນອື່ນໆອາດຈະເຮັດວຽກ.
ການນໍາໃຊ້ Intel C ++ Compiler ແທນ Visual C ມີຜົນປະໂຫຍດຂອງການເຂົ້າກັນໄດ້ C99
ເຊິ່ງຕ້ອງການໂດຍບາງໂມດູນ CPAN XS, ໃນຂະນະທີ່ຮັກສາຄວາມເຂົ້າກັນໄດ້ກັບ Visual C
ລະຫັດວັດຖຸ ແລະໂຄງສ້າງພື້ນຖານການດີບັກ Visual C ບໍ່ຄືກັບ GCC.

ການກໍ່ສ້າງ
·ໃຫ້ແນ່ໃຈວ່າທ່ານຢູ່ໃນ "win32" subdirectory ພາຍໃຕ້ perl toplevel. ບັນຊີລາຍການນີ້
ມີ "Makefile" ທີ່ຈະເຮັດວຽກກັບເວີຊັນຂອງ nmake ທີ່ມາພ້ອມກັບ Visual C ++
ຫຼື Windows SDK, ແລະ dmake "makefile.mk" ທີ່ຈະເຮັດວຽກສໍາລັບການສະຫນັບສະຫນູນທັງຫມົດ
ສັງລວມ. ຄ່າເລີ່ມຕົ້ນໃນ dmake makefile ແມ່ນຕິດຕັ້ງເພື່ອສ້າງໂດຍໃຊ້ MinGW/gcc.

·ແກ້ໄຂ makefile.mk (ຫຼື Makefile, ຖ້າເຈົ້າໃຊ້ nmake) ແລະປ່ຽນຄ່າຂອງ
INST_DRV ແລະ INST_TOP. ທ່ານຍັງສາມາດເປີດໃຊ້ງານສ້າງທຸງຕ່າງໆ. ເຫຼົ່ານີ້ແມ່ນໄດ້ອະທິບາຍ
ໃນ makefiles ໄດ້.

ຈົ່ງຈື່ໄວ້ວ່າໂດຍທົ່ວໄປແລ້ວມັນບໍ່ແມ່ນຄວາມຄິດທີ່ດີທີ່ຈະພະຍາຍາມສ້າງ perl ກັບ INST_DRV ແລະ
INST_TOP ຕັ້ງເປັນເສັ້ນທາງທີ່ມີຢູ່ແລ້ວຈາກການກໍ່ສ້າງກ່ອນຫນ້າ. ໂດຍສະເພາະ, ນີ້
ອາດຈະເຮັດໃຫ້ເກີດບັນຫາກັບການທົດສອບ lib/ExtUtils/t/Embed.t, ເຊິ່ງພະຍາຍາມສ້າງ
ໂຄງການທົດສອບແລະອາດຈະສິ້ນສຸດການກໍ່ສ້າງຕໍ່ກັບໄດເລກະທໍລີ lib/CORE ຂອງ perl ທີ່ຕິດຕັ້ງ
ແທນທີ່ຈະເປັນການທົດສອບ.

ທ່ານຈະຕ້ອງເຮັດໃຫ້ແນ່ໃຈວ່າ CCTYPE ຖືກຕັ້ງຢ່າງຖືກຕ້ອງແລະ CCHOME ຊີ້ໄປຫາ
ບ່ອນໃດກໍຕາມທີ່ທ່ານຕິດຕັ້ງ compiler ຂອງທ່ານ.

ຖ້າສ້າງດ້ວຍ cross-compiler ທີ່ສະໜອງໃຫ້ໂດຍ mingw-w64.org ເຈົ້າຈະຕ້ອງບໍ່ຂຽນຄຳເຫັນ.
ເສັ້ນທີ່ກໍານົດ GCCCROSS ໃນ makefile.mk. ເຮັດແນວນີ້ພຽງແຕ່ຖ້າມັນເປັນຂ້າມ.
compiler - ie ພຽງແຕ່ຖ້າໂຟນເດີ bin ບໍ່ມີ gcc.exe. (ຜູ້ລວບລວມຂໍ້ມູນຂ້າມ
ບໍ່ໄດ້ສະຫນອງ gcc.exe, g++.exe, ar.exe, ແລະອື່ນໆ. ແທນທີ່ຈະ, ການປະຕິບັດທັງຫມົດເຫຼົ່ານີ້.
ຖືກນຳໜ້າດ້ວຍ 'x86_64-w64-mingw32-'.)

ຄ່າເລີ່ມຕົ້ນຂອງ CCHOME ໃນ makefiles ສໍາລັບ Visual C++ ອາດຈະບໍ່ຖືກກັບ
ບາງສະບັບ. ໃຫ້ແນ່ໃຈວ່າມີຄ່າເລີ່ມຕົ້ນແລະຖືກຕ້ອງ.

ທ່ານອາດຈະຕ້ອງສະແດງຄວາມຄິດເຫັນອອກເສັ້ນ "DELAYLOAD = ... " ໃນ Makefile ຖ້າທ່ານ
ໃຊ້ VC++ 6.0 ໂດຍບໍ່ມີຊຸດບໍລິການຫຼ້າສຸດ ແລະຕົວເຊື່ອມຕໍ່ລາຍງານພາຍໃນ
ຜິດພາດ.

ຖ້າທ່ານຕ້ອງການສ້າງບາງສ່ວນຂະຫຍາຍຫຼັກແບບຄົງທີ່ເຂົ້າໄປໃນ dll ຂອງ perl, ໃຫ້ລະບຸພວກມັນຢູ່ໃນ
STATIC_EXT ມະຫາພາກ.

ໝາຍເຫດ: ຕົວເລືອກການສ້າງ USE_64_BIT_INT ບໍ່ຮອງຮັບກັບ 32-bit Visual C++ 6.0.
ນັກຂຽນ.

ໃຫ້ແນ່ໃຈວ່າອ່ານຄໍາແນະນໍາທີ່ຢູ່ໃກ້ກັບດ້ານເທິງຂອງ makefiles ຢ່າງລະມັດລະວັງ.

·ພິມ "dmake" (ຫຼື "nmake" ຖ້າທ່ານກໍາລັງໃຊ້ເຄື່ອງເຮັດນັ້ນ).

ນີ້ຄວນຈະສ້າງທຸກສິ່ງທຸກຢ່າງ. ໂດຍສະເພາະ, ມັນຈະສ້າງ perl.exe, perl522.dll ຢູ່
ລະດັບສູງສຸດຂອງ perl, ແລະສ່ວນຂະຫຍາຍອື່ນໆຂອງ dll ພາຍໃຕ້ໄດເລກະທໍລີ lib\auto. ຖ້າ
ການກໍ່ສ້າງລົ້ມເຫລວສໍາລັບເຫດຜົນໃດກໍ່ຕາມ, ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ເຮັດຂັ້ນຕອນທີ່ຜ່ານມາຢ່າງຖືກຕ້ອງ.

ຖ້າທ່ານມີຄວາມກ້າວຫນ້າພຽງພໍກັບການສ້າງລະຫັດ C, ນີ້ແມ່ນຄໍາແນະນໍາທີ່ຈະເລັ່ງ
ການກໍ່ສ້າງ perl, ແລະຕໍ່ມາ "ເຮັດການທົດສອບ". ພະຍາຍາມຮັກສາຕົວແປສະພາບແວດລ້ອມ PATH ຂອງທ່ານ
ດ້ວຍຈຳນວນໂຟນເດີໜ້ອຍທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້ (ຈື່ໄວ້ວ່າຕ້ອງຮັກສາໂຟນເດີ C compiler ຂອງທ່ານໄວ້
ຢູ່ທີ່ນັ້ນ). "C:\WINDOWS\system32" ຫຼື "C:\WINNT\system32" ຂຶ້ນກັບລຸ້ນ OS ຂອງທ່ານ.
ຄວນຈະເປັນໂຟນເດີທໍາອິດໃນ PATH, ເນື່ອງຈາກວ່າ "cmd.exe" ເປັນໂຄງການເປີດຕົວທົ່ວໄປທີ່ສຸດ
ໃນລະຫວ່າງການກໍ່ສ້າງແລະການທົດສອບຕໍ່ມາ.

ການທົດສອບ Perl on Windows
ພິມ "dmake test" (ຫຼື "nmake test"). ນີ້ຈະດໍາເນີນການຫຼາຍທີ່ສຸດຂອງການທົດສອບຈາກ testsuite ໄດ້
(ການທົດສອບຫຼາຍຄັ້ງຈະຖືກຂ້າມໄປ).

ບໍ່​ຄວນ​ຈະ​ມີ​ຄວາມ​ລົ້ມ​ເຫຼວ​ຂອງ​ການ​ທົດ​ສອບ​.

ຖ້າທ່ານສ້າງດ້ວຍ Visual C ++ 2013 ຫຼັງຈາກນັ້ນສາມການທົດສອບໃນປະຈຸບັນອາດຈະລົ້ມເຫລວກັບ Daylight Saving
ບັນຫາທີ່ກ່ຽວຂ້ອງກັບເວລາ: t/io/fs.t, cpan/HTTP-Tiny/t/110_mirror.t ແລະ lib/File.Copy.t. ໄດ້
ຄວາມລົ້ມເຫຼວແມ່ນເກີດຈາກແມງໄມ້ໃນ CRT ໃນ VC ++ 2013 ເຊິ່ງຈະຖືກແກ້ໄຂໃນການປ່ອຍໃນອະນາຄົດ
ຂອງ VC++, ດັ່ງທີ່ໄດ້ອະທິບາຍໂດຍ Microsoft ຢູ່ທີ່ນີ້:
.
ໃນເວລານີ້, ຖ້າທ່ານຕ້ອງການຟັງຊັນ "stat" ແລະ "utime" ຄົງທີ່, ໃຫ້ເບິ່ງ
ການແຈກຢາຍ CPAN Win32::UTCFileTime.

ຖ້າທ່ານສ້າງກັບບາງຮຸ່ນ (ຕົວຢ່າງ 4.8.1) ຂອງ gcc ຈາກ www.mingw.org ຫຼັງຈາກນັ້ນ
ext/POSIX/t/time.t ອາດຈະລົ້ມເຫລວໃນການທົດສອບ 17 ເນື່ອງຈາກແມງໄມ້ທີ່ຮູ້ຈັກໃນການກໍ່ສ້າງ gcc ເຫຼົ່ານັ້ນ: ເບິ່ງ
<http://sourceforge.net/p/mingw/bugs/2152/>.

ຄວາມລົ້ມເຫຼວຂອງການທົດສອບບາງຢ່າງອາດຈະເກີດຂື້ນຖ້າທ່ານໃຊ້ shell ຄໍາສັ່ງອື່ນທີ່ບໍ່ແມ່ນ "cmd.exe", ຕົ້ນສະບັບ.
ຫຼືຖ້າຫາກວ່າທ່ານກໍາລັງສ້າງຈາກເສັ້ນທາງທີ່ມີຊ່ອງຫວ່າງ. ສະນັ້ນຢ່າເຮັດແນວນັ້ນ.

ຖ້າທ່ານກໍາລັງດໍາເນີນການທົດສອບຈາກປ່ອງຢ້ຽມ emacs shell, ທ່ານອາດຈະເຫັນຄວາມລົ້ມເຫລວໃນ op/stat.t.
ດໍາເນີນການ "dmake test-notty" ໃນກໍລະນີດັ່ງກ່າວ.

ຍິ່ງໄປກວ່ານັ້ນ, ທ່ານຄວນໃຫ້ແນ່ໃຈວ່າໃນລະຫວ່າງ "ເຮັດການທົດສອບ" ທ່ານບໍ່ມີເຄື່ອງມື GNU
ແພັກເກດຢູ່ໃນເສັ້ນທາງຂອງເຈົ້າ: ບາງຊຸດເຄື່ອງມືເຊັ່ນ Unixutils ປະກອບມີບາງເຄື່ອງມື ("ປະເພດ" ສໍາລັບ
ຕົວຢ່າງ) ເຊິ່ງ override Windows ແລະເຮັດໃຫ້ການທົດສອບລົ້ມເຫລວ. ເອົາພວກມັນອອກຈາກເສັ້ນທາງຂອງເຈົ້າ
ໃນຂະນະທີ່ການທົດສອບເພື່ອຫຼີກເວັ້ນຄວາມຜິດພາດເຫຼົ່ານີ້.

ກະ​ລຸ​ນາ​ລາຍ​ງານ​ຄວາມ​ລົ້ມ​ເຫຼວ​ອື່ນໆ​ທີ່​ອະ​ທິ​ບາຍ​ຢູ່​ພາຍ​ໃຕ້ "ຂໍ້​ບົກ​ພ່ອງ​ແລະ​ຄໍາ​ເຕືອນ​"​.

ການຕິດຕັ້ງ of Perl on Windows
ພິມ "dmake install" (ຫຼື "nmake install"). ນີ້ຈະເຮັດໃຫ້ perl ສ້າງຂຶ້ນໃຫມ່ແລະ
ຫ້ອງສະໝຸດພາຍໃຕ້ອັນໃດກໍໄດ້ທີ່ "INST_TOP" ຊີ້ໄປຫາໃນ Makefile. ມັນ​ຍັງ​ຈະ​ຕິດ​ຕັ້ງ​
ເອກະສານ pod ພາຍໃຕ້ "$INST_TOP\$INST_VER\lib\pod" ແລະ HTML ລຸ້ນດຽວກັນພາຍໃຕ້
"$INST_TOP\$INST_VER\lib\pod\html".

ເພື່ອໃຊ້ Perl ທີ່ເຈົ້າຫາກໍ່ຕິດຕັ້ງເຈົ້າຈະຕ້ອງເພີ່ມລາຍການໃໝ່ໃສ່ PATH ຂອງທ່ານ
ຕົວແປສະພາບແວດລ້ອມ: "$INST_TOP\bin", e.g

ຕັ້ງ PATH=c:\perl\bin;%PATH%

ຖ້າທ່ານເລືອກທີ່ຈະບໍ່ສະແດງຄວາມຄິດເຫັນ "INST_VER" ແລະ "INST_ARCH" ໃນ makefile ຫຼັງຈາກນັ້ນການຕິດຕັ້ງ
ໂຄງສ້າງແມ່ນສັບສົນເລັກນ້ອຍແລະທ່ານຈະຕ້ອງເພີ່ມສອງອົງປະກອບ 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%

ການນໍາໃຊ້ ຄໍາແນະນໍາ ສໍາລັບການ Perl on Windows
ສິ່ງແວດລ້ອມ Variables
ເສັ້ນທາງການຕິດຕັ້ງທີ່ທ່ານກໍານົດໃນລະຫວ່າງການກໍ່ສ້າງໄດ້ຮັບການລວບລວມເຂົ້າໄປໃນ perl, ດັ່ງນັ້ນທ່ານ
ບໍ່ຕ້ອງເຮັດຫຍັງເພີ່ມເຕີມເພື່ອເລີ່ມໃຊ້ perl ນັ້ນ (ຍົກເວັ້ນເພີ່ມສະຖານທີ່ຂອງມັນ
ກັບຕົວແປ PATH ຂອງທ່ານ).

ຖ້າທ່ານໃສ່ສ່ວນຂະຫຍາຍໃນສະຖານທີ່ຜິດປົກກະຕິ, ທ່ານສາມາດຕັ້ງ PERL5LIB ເປັນລາຍການເສັ້ນທາງ
ແຍກໂດຍເຄື່ອງໝາຍຈຸດທີ່ທ່ານຕ້ອງການ perl ເພື່ອຊອກຫາຫ້ອງສະໝຸດ. ຊອກ​ຫາ
ຄໍາອະທິບາຍຂອງຕົວແປສະພາບແວດລ້ອມອື່ນໆທີ່ທ່ານສາມາດກໍານົດໃນ perlrun.

ນອກນັ້ນທ່ານຍັງສາມາດຄວບຄຸມ shell ທີ່ perl ໃຊ້ເພື່ອດໍາເນີນການ ລະບົບ() ແລະຄໍາສັ່ງ backtick
ຜ່ານ PERL5SHELL. ເບິ່ງ perlrun.

Perl ບໍ່ໄດ້ຂຶ້ນກັບການລົງທະບຽນ, ແຕ່ມັນສາມາດຊອກຫາຄ່າເລີ່ມຕົ້ນທີ່ແນ່ນອນຖ້າທ່ານ
ເລືອກທີ່ຈະໃຫ້ພວກເຂົາຢູ່ທີ່ນັ້ນ. Perl ພະຍາຍາມອ່ານລາຍການຈາກ
"HKEY_CURRENT_USER\Software\Perl" ແລະ "HKEY_LOCAL_MACHINE\Software\Perl". ລາຍການເຂົ້າ
ອະດີດ override ລາຍການໃນສຸດທ້າຍ. ໜຶ່ງ ຫຼືຫຼາຍລາຍການຕໍ່ໄປນີ້ (ຂອງ
ປະເພດ REG_SZ ຫຼື REG_EXPAND_SZ) ອາດຈະຖືກຕັ້ງ:

lib-$] ເສັ້ນທາງຫ້ອງສະໝຸດມາດຕະຖານສະບັບສະເພາະເພື່ອເພີ່ມໃສ່ @INC
lib ເສັ້ນທາງຫ້ອງສະຫມຸດມາດຕະຖານເພື່ອເພີ່ມໃສ່ @INC
sitelib-$] ເສັ້ນທາງສະເພາະຂອງຫ້ອງສະໝຸດເວັບໄຊເພື່ອເພີ່ມໃສ່ @INC
ເສັ້ນທາງຫ້ອງສະໝຸດ sitelib ເພື່ອເພີ່ມໃສ່ @INC
vendorlib-$] ເສັ້ນທາງຫ້ອງສະໝຸດສະເພາະຂອງຜູ້ຂາຍສະເພາະເພື່ອເພີ່ມໃສ່ @INC
ເສັ້ນທາງຫ້ອງສະໝຸດຂອງຜູ້ຂາຍຜູ້ຂາຍຂາຍເພື່ອເພີ່ມໃສ່ @INC
PERL* ທາງເລືອກສຳລັບທັງໝົດ %ENV ຊອກຫາທີ່ເລີ່ມຕົ້ນດ້ວຍ "PERL"

ໃຫ້ສັງເກດວ່າ $] ໃນຂ້າງເທິງບໍ່ແມ່ນຕົວຫນັງສື. ທົດແທນອັນໃດກໍໄດ້ຂອງ perl ທີ່ທ່ານຕ້ອງການ
ໃຫ້ກຽດເຂົ້ານັ້ນ, ຕົວຢ່າງ 5.6.0. ເສັ້ນທາງຕ້ອງຖືກແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ, ຕາມປົກກະຕິ
Windows.

File Globbing
ໂດຍຄ່າເລີ່ມຕົ້ນ, perl ຈັດການໄຟລ໌ globbing ໂດຍໃຊ້ File::Glob extension, ເຊິ່ງສະຫນອງ
ບານໂລກແບບພົກພາ.

ຖ້າທ່ານຕ້ອງການ perl ນໍາໃຊ້ globbing ທີ່ເຮັດຕາມແບບຢ່າງຂອງສົນທິສັນຍາຊື່ໄຟລ໌ DOS,
ທ່ານອາດຈະຕ້ອງການພິຈາລະນານໍາໃຊ້ File::DosGlob ເພື່ອ override ພາຍໃນ ໂລກ()
ການຈັດຕັ້ງປະຕິບັດ. ເບິ່ງໄຟລ໌::DosGlob ສໍາລັບລາຍລະອຽດ.

ການນໍາໃຊ້ perl ຈາກເສັ້ນຄໍາສັ່ງ
ຖ້າທ່ານຄຸ້ນເຄີຍກັບການໃຊ້ perl ຈາກ shell ເສັ້ນຄໍາສັ່ງຕ່າງໆທີ່ພົບເຫັນຢູ່ໃນ UNIX
ສະພາບແວດລ້ອມ, ທ່ານຈະມີຄວາມພໍໃຈຫນ້ອຍກວ່າສິ່ງທີ່ Windows ສະເຫນີໂດຍວິທີການ
ແກະຄໍາສັ່ງ.

ສິ່ງທີ່ສໍາຄັນທີ່ຈະເຂົ້າໃຈສະພາບແວດລ້ອມ Windows ແມ່ນວ່າເສັ້ນຄໍາສັ່ງ
ທ່ານພິມຖືກປະມວນຜົນສອງຄັ້ງກ່ອນທີ່ Perl ເຫັນມັນ. ຫນ້າທໍາອິດ, shell ຄໍາສັ່ງຂອງທ່ານ
(ປົກກະຕິແລ້ວ CMD.EXE) preprocesses the command line, to handle redirection, environment
ການຂະຫຍາຍຕົວແປ, ແລະສະຖານທີ່ຂອງການປະຕິບັດທີ່ຈະດໍາເນີນການ. ຫຼັງຈາກນັ້ນ, perl ປະຕິບັດໄດ້
ແບ່ງບັນທັດຄໍາສັ່ງທີ່ຍັງເຫຼືອເຂົ້າໄປໃນການໂຕ້ຖຽງສ່ວນບຸກຄົນ, ໂດຍໃຊ້ C runtime
ຫໍສະຫມຸດທີ່ Perl ຖືກສ້າງຂຶ້ນ.

ມັນເປັນສິ່ງສໍາຄັນໂດຍສະເພາະທີ່ຈະສັງເກດວ່າທັງສອງແກະຫຼື C runtime ບໍ່ເຮັດຫຍັງ
ການຂະຫຍາຍຕົວແທນຂອງ arguments ແຖວຄໍາສັ່ງ (ດັ່ງນັ້ນ wildcards ບໍ່ຈໍາເປັນຕ້ອງຖືກອ້າງອີງ).
ນອກຈາກນີ້, ພຶດຕິກໍາການອ້າງອີງຂອງ shell ແລະ C runtime ແມ່ນພື້ນຖານທີ່ດີທີ່ສຸດ
(ແລະອາດຈະ, ຖ້າທ່ານກໍາລັງໃຊ້ແກະທີ່ບໍ່ແມ່ນມາດຕະຖານ, ຈະບໍ່ສອດຄ່ອງ). ພຽງ​ແຕ່ (ປະ​ໂຫຍດ​)
quote character ແມ່ນ quote double (") ມັນ​ສາ​ມາດ​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ປົກ​ປັກ​ຮັກ​ສາ​ສະ​ຫວ່າງ​ແລະ​ອື່ນໆ​
ລັກສະນະພິເສດໃນການໂຕ້ຖຽງ.

ເອກະສານຂອງ Windows ອະທິບາຍກົດລະບຽບການແຍກແກະຢູ່ທີ່ນີ້:
<http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true>
ແລະກົດລະບຽບການແຍກວິເຄາະ runtime C ຢູ່ທີ່ນີ້:
<http://msdn.microsoft.com/en-us/library/17w5ykft%28v=VS.100%29.aspx>.

ນີ້ແມ່ນບາງຂໍ້ສັງເກດເພີ່ມເຕີມໂດຍອີງໃສ່ການທົດລອງ: C runtime breaks
argument ຢູ່ spaces ແລະສົ່ງພວກມັນໄປຫາບັນດາໂຄງການໃນ argc/argv. ວົງຢືມຄູ່ສາມາດເປັນ
ໃຊ້ເພື່ອປ້ອງກັນການໂຕ້ຖຽງກັບຊ່ອງຫວ່າງຢູ່ໃນພວກມັນຈາກການຖືກແຍກອອກ. ທ່ານສາມາດໃສ່ a
double quote ໃນການໂຕ້ຖຽງໂດຍການຫລົບຫນີດ້ວຍ backslash ແລະປິດທັງຫມົດ
ການໂຕ້ຖຽງພາຍໃນວົງຢືມຄູ່. backslash ແລະຄູ່ຂອງວົງຢືມຄູ່
ອ້ອມຮອບການໂຕ້ຖຽງຈະຖືກຖອດອອກໂດຍ C runtime.

ຕົວອັກສອນປ່ຽນເສັ້ນທາງໄຟລ໌ "<", ">", ແລະ "|" ສາມາດຖືກອ້າງອີງໂດຍວົງຢືມສອງເທົ່າ
(ເຖິງ​ແມ່ນ​ວ່າ​ມີ​ຄໍາ​ແນະ​ນໍາ​ວ່າ​ນີ້​ອາດ​ຈະ​ບໍ່​ເປັນ​ຄວາມ​ຈິງ​ສະ​ເຫມີ​ໄປ​)​. ວົງຢືມດຽວແມ່ນ
ບໍ່​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ເປັນ​ວົງ​ຢືມ​ໂດຍ​ແກະ​ຫຼື C runtime​, ພວກ​ເຂົາ​ເຈົ້າ​ບໍ່​ໄດ້​ຮັບ​ການ stripped ໂດຍ​
shell (ພຽງແຕ່ເພື່ອເຮັດໃຫ້ປະເພດຂອງວົງຢືມນີ້ບໍ່ມີປະໂຫຍດຢ່າງສົມບູນ). cart "^" ຍັງມີ
ໄດ້ຖືກສັງເກດເຫັນວ່າປະຕິບັດຕົວເປັນລັກສະນະວົງຢືມ, ແຕ່ນີ້ເບິ່ງຄືວ່າເປັນແກະ
ຄຸນ​ນະ​ສົມ​ບັດ​, ແລະ caret ບໍ່​ໄດ້​ຖືກ​ຖອດ​ອອກ​ຈາກ​ບັນ​ຊີ​ຄໍາ​ສັ່ງ​, ດັ່ງ​ນັ້ນ Perl ຍັງ​ເຫັນ​ມັນ​
(ແລະໄລຍະ C runtime ບໍ່ໄດ້ປະຕິບັດ caret ເປັນຕົວອັກສອນ quote).

ນີ້ແມ່ນບາງຕົວຢ່າງຂອງການນໍາໃຊ້ "cmd" shell:

ນີ້ພິມສອງວົງຢືມສອງເທົ່າ:

perl -e "ພິມ '\"\"'"

ອັນນີ້ເຮັດຄືກັນ:

perl -e "ພິມ \"\\\"\\\"\"

ນີ້ພິມ "bar" ແລະຂຽນ "foo" ໃສ່ໄຟລ໌ "blurch":

perl -e "ພິມ 'foo'; ພິມ STDERR 'bar'"> blurch

ນີ້ພິມ "foo" ("bar" ຫາຍໄປໃນ nowhereland):

perl -e "ພິມ 'foo'; ພິມ STDERR 'bar'" 2> nul

ນີ້ພິມ "bar" ແລະຂຽນ "foo" ເຂົ້າໄປໃນໄຟລ໌ "blurch":

perl -e "ພິມ 'foo'; ພິມ STDERR 'bar'" 1> blurch

ນີ້ທໍ່ "foo" ໄປຫາ "ຫນ້ອຍ" pager ແລະພິມ "bar" ໃນ console:

perl -e "ພິມ 'foo'; ພິມ STDERR 'bar'" | ຫນ້ອຍ

ນີ້ທໍ່ "foo\nbar\n" ໄປຫາ pager ຫນ້ອຍ:

perl -le "ພິມ 'foo'; ພິມ STDERR 'bar'" 2>&1 | ຫນ້ອຍ

ນີ້ທໍ່ "foo" ໄປຫາ pager ແລະຂຽນ "bar" ໃນໄຟລ໌ "blurch":

perl -e "ພິມ 'foo';ພິມ STDERR 'bar'" 2> blurch | ຫນ້ອຍ

ການຄົ້ນພົບປະໂຫຍດຂອງແກະ "command.com" ໃນ Windows 9x ຖືກປະໄວ້ເປັນ
ອອກ​ກໍາ​ລັງ​ກາຍ​ກັບ​ຜູ້​ອ່ານ :)

ບັນຫາຫນຶ່ງທີ່ຫນ້າຢ້ານໂດຍສະເພາະກັບແກະຄໍາສັ່ງ 4NT ສໍາລັບ Windows ແມ່ນວ່າມັນ
(ເກືອບ) ປະຕິບັດຕໍ່ຕົວອັກສອນ % ສະເໝີເປັນການຊີ້ບອກການຂະຫຍາຍຕົວແປສະພາບແວດລ້ອມນັ້ນ
ແມ່ນຈໍາເປັນ. ພາຍໃຕ້ເປືອກນີ້, ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະຕ້ອງເພີ່ມ % ສອງເທົ່າ.
ຕົວ​ອັກ​ສອນ​ທີ່​ທ່ານ​ຕ້ອງ​ການ​ໃຫ້ Perl ເບິ່ງ (ສໍາ​ລັບ​ຕົວ​ຢ່າງ​, ສໍາ​ລັບ​ຕົວ​ແປ hash​)​, ເຖິງ​ແມ່ນ​ວ່າ​ໃນ​ເວ​ລາ​ທີ່​
ເຂົາເຈົ້າໄດ້ຖືກອ້າງອີງ.

ການຂະຫຍາຍອາຄານ
Comprehensive Perl Archive Network (CPAN) ສະເຫນີຄວາມອຸດົມສົມບູນຂອງການຂະຫຍາຍ, ບາງສ່ວນຂອງ
ເຊິ່ງຕ້ອງການ C compiler ເພື່ອສ້າງ. ເບິ່ງ​ໃນhttp://www.cpan.org/> ສໍາລັບການເພີ່ມເຕີມ
ຂໍ້​ມູນ​ກ່ຽວ​ກັບ CPAN​.

ໃຫ້ສັງເກດວ່າບໍ່ແມ່ນທຸກສ່ວນຂະຫຍາຍທີ່ມີຢູ່ໃນ CPAN ອາດຈະເຮັດວຽກຢູ່ໃນ Windows
ສະພາບແວດລ້ອມ; ທ່ານຄວນກວດເບິ່ງຂໍ້ມູນຢູ່ທີ່http://www.cpantesters.org/> ກ່ອນ
ການລົງທຶນຫຼາຍເກີນໄປເຂົ້າໄປໃນໂມດູນ porting ທີ່ບໍ່ໄດ້ສ້າງພ້ອມ.

ສ່ວນຂະຫຍາຍສ່ວນໃຫຍ່ (ບໍ່ວ່າເຂົາເຈົ້າຕ້ອງການ C compiler ຫຼືບໍ່) ສາມາດສ້າງ, ທົດສອບ ແລະ
ຕິດ​ຕັ້ງ​ກັບ mantra ມາດ​ຕະ​ຖານ​:

perl Makefile.PL
$MAKE
$MAKE ທົດສອບ
$MAKE ຕິດຕັ້ງ

ບ່ອນທີ່ $MAKE ແມ່ນອັນໃດກໍໄດ້ 'ເຮັດ' ໂຄງການທີ່ທ່ານໄດ້ configured perl ເພື່ອໃຊ້. ໃຊ້ "perl
-V:make" ເພື່ອຊອກຫາວ່າອັນນີ້ແມ່ນຫຍັງ. ບາງສ່ວນຂະຫຍາຍອາດຈະບໍ່ໃຫ້ testsuite (ດັ່ງນັ້ນ
"$MAKE test" ອາດຈະບໍ່ເຮັດຫຍັງຫຼືລົ້ມເຫລວ), ແຕ່ສິ່ງທີ່ຮ້າຍແຮງທີ່ສຸດເຮັດ.

ມັນເປັນສິ່ງສໍາຄັນທີ່ທ່ານໃຊ້ໂຄງການ 'make' ທີ່ສະຫນັບສະຫນູນ, ແລະໃຫ້ແນ່ໃຈວ່າ Config.pm ຮູ້
ກ່ຽວ​ກັບ​ມັນ. ຖ້າທ່ານບໍ່ມີ nmake, ທ່ານສາມາດໄດ້ຮັບ dmake ຈາກສະຖານທີ່
ທີ່ໄດ້ກ່າວມາກ່ອນຫນ້ານີ້ຫຼືໄດ້ຮັບສະບັບເກົ່າຂອງ nmake ລາຍງານວ່າມີຢູ່ຈາກ:

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

ທາງເລືອກອື່ນແມ່ນການໃຊ້ make ຂຽນໃນ Perl, ມີຢູ່ໃນ CPAN.

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

ທ່ານອາດຈະໃຊ້ dmake. ເບິ່ງ "ເຮັດ" ຂ້າງເທິງກ່ຽວກັບວິທີການເອົາມັນ.

ໃຫ້ສັງເກດວ່າ MakeMaker ຕົວຈິງແລ້ວ emits makefiles ກັບ syntax ທີ່ແຕກຕ່າງກັນຂຶ້ນຢູ່ກັບສິ່ງທີ່
'ເຮັດ' ມັນຄິດວ່າທ່ານກໍາລັງໃຊ້. ດັ່ງນັ້ນ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຫນຶ່ງຕໍ່ໄປນີ້
ຄ່າປາກົດຢູ່ໃນ Config.pm:

make='nmake' # MakeMaker ປ່ອຍ syntax nmake
make='dmake' # MakeMaker ປ່ອຍ dmake syntax
ຄ່າອື່ນໃດ # MakeMaker ປ່ອຍຕົວສ້າງ syntax ທົ່ວໄປ
(ເຊັ່ນ: GNU make, ຫຼື Perl make)

ຖ້າຄ່າບໍ່ກົງກັບໂຄງການ 'make' ທີ່ທ່ານຕ້ອງການໃຊ້, ແກ້ໄຂ Config.pm ເພື່ອແກ້ໄຂ.
ມັນ.

ຖ້າໂມດູນປະຕິບັດ XSUBs, ທ່ານຈະຕ້ອງການຫນຶ່ງໃນຕົວລວບລວມຂໍ້ມູນ C ທີ່ສະຫນັບສະຫນູນ. ເຈົ້າ
ຕ້ອງເຮັດໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ຕັ້ງຄ່າສະພາບແວດລ້ອມສໍາລັບ compiler ສໍາລັບເສັ້ນຄໍາສັ່ງ
ການລວບລວມກ່ອນທີ່ຈະແລ່ນ "perl Makefile.PL" ຫຼືການຮຽກຮ້ອງໃດໆຂອງ make.

ຖ້າໂມດູນບໍ່ໄດ້ສ້າງດ້ວຍເຫດຜົນບາງຢ່າງ, ເບິ່ງຢ່າງລະມັດລະວັງວ່າເປັນຫຍັງມັນລົ້ມເຫລວ, ແລະ
ລາຍງານບັນຫາກັບຜູ້ຂຽນໂມດູນ. ຖ້າມັນຄ້າຍຄືການສະຫນັບສະຫນູນການກໍ່ສ້າງການຂະຫຍາຍ
ມີຄວາມຜິດ, ລາຍງານວ່າມີລາຍລະອຽດເຕັມທີ່ກ່ຽວກັບວິທີການກໍ່ສ້າງລົ້ມເຫລວໂດຍໃຊ້ perlbug
utility

ການຂະຫຍາຍຄຳສັ່ງແຖວຄຳສັ່ງ
ຄຳສັ່ງເລີ່ມຕົ້ນແມ່ນ Shell ໃນລະບົບປະຕິບັດການ DOS descendant (ເຊັ່ນວ່າພວກມັນແມ່ນ)
ປົກກະຕິແລ້ວບໍ່ໄດ້ຂະຫຍາຍການໂຕ້ຖຽງ wildcard ໃຫ້ກັບບັນດາໂຄງການ. ພວກເຂົາເຈົ້າພິຈາລະນາມັນ
ວຽກຂອງແອັບພລິເຄຊັນເພື່ອຈັດການກັບສິ່ງນັ້ນ. ນີ້ແມ່ນບັນລຸໄດ້ໂດຍທົ່ວໄປໂດຍການເຊື່ອມໂຍງ
ຄໍາຮ້ອງສະຫມັກ (ໃນກໍລະນີຂອງພວກເຮົາ, perl) ທີ່ມີລະຫັດເລີ່ມຕົ້ນທີ່ຫ້ອງສະຫມຸດ C runtime ປົກກະຕິແລ້ວ
ໃຫ້. ຢ່າງໃດກໍຕາມ, ການເຮັດນັ້ນເຮັດໃຫ້ບໍ່ສາມາດເຂົ້າກັນໄດ້ໃນສະບັບ perl (ນັບຕັ້ງແຕ່
ພຶດຕິກໍາຂອງລະຫັດການຂະຫຍາຍ argv ແຕກຕ່າງກັນຂຶ້ນຢູ່ກັບ compiler, ແລະມັນແມ່ນແມ້ກະທັ້ງ
buggy ໃນບາງ compilers). ນອກຈາກນັ້ນ, ມັນອາດຈະເຮັດໃຫ້ເກີດຄວາມອຸກອັ່ງຖ້າທ່ານໃຊ້ເຊັ່ນນັ້ນ
perl binary ກັບ shell ຈັບສະຫຼັບທີ່ *ເຮັດ* ຂະຫຍາຍ wildcards.

ແທນທີ່ຈະ, ການແກ້ໄຂຕໍ່ໄປນີ້ເຮັດວຽກໄດ້ດີຫຼາຍ. ສິ່ງທີ່ດີກ່ຽວກັບມັນແມ່ນ 1) ເຈົ້າ
ສາມາດເລີ່ມນຳໃຊ້ໄດ້ທັນທີ; 2) ມັນມີອໍານາດຫຼາຍ, ເພາະວ່າມັນຈະເຮັດຢ່າງຖືກຕ້ອງ
ສິ່ງທີ່ມີຮູບແບບເຊັ່ນ: */*/*.c; 3​) ທ່ານ​ສາ​ມາດ​ຕັດ​ສິນ​ໃຈ​ວ່າ​ທ່ານ​ເຮັດ / ບໍ່​ຕ້ອງ​ການ​ນໍາ​ໃຊ້​
ມັນ; ແລະ 4) ທ່ານສາມາດຂະຫຍາຍວິທີການເພີ່ມການປັບແຕ່ງໃດໆ (ຫຼືແມ້ກະທັ້ງທັງຫມົດ
ປະ​ເພດ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ຂອງ​ການ​ຂະ​ຫຍາຍ​ຕົວ​ຂອງ​ຕົວ​ແທນ​)​.

C:\> copy con c:\perl\lib\Wild.pm
# Wild.pm - emulate shell @ARGV expansion on shells that don't
ໃຊ້ File::DosGlob;
@ARGV = ແຜນທີ່ {
my @g = File::DosGlob::glob($_) ຖ້າ /[*?]/;
@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 ແລະໃສ່ມັນ
ໃນລາຍຊື່ perl lib ຂອງທ່ານ. 2) ທ່ານຈະຕ້ອງຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ PERL5OPT.
ຖ້າທ່ານຕ້ອງການການຂະຫຍາຍ argv ເປັນຄ່າເລີ່ມຕົ້ນ, ພຽງແຕ່ຕັ້ງ PERL5OPT ໃນຄ່າເລີ່ມຕົ້ນຂອງທ່ານ
ສະພາບແວດລ້ອມການເລີ່ມຕົ້ນ.

ຖ້າທ່ານກໍາລັງໃຊ້ Visual C compiler, ທ່ານສາມາດໄດ້ຮັບເສັ້ນຄໍາສັ່ງຂອງ C runtime
ການຂະຫຍາຍຕົວຂອງ wildcard ສ້າງຂຶ້ນໃນ perl binary. ຜົນຂອງຖານສອງຈະຂະຫຍາຍອອກສະເໝີ
unquoted ຄໍາສັ່ງ, ເຊິ່ງອາດຈະບໍ່ເປັນສິ່ງທີ່ທ່ານຕ້ອງການຖ້າຫາກວ່າທ່ານໃຊ້ shell ທີ່ເຮັດ
ວ່າສໍາລັບທ່ານ. ການຂະຫຍາຍຕົວທີ່ເຮັດແລ້ວແມ່ນຍັງມີອໍານາດຫນ້ອຍກວ່າວິທີການ
ແນະນໍາຂ້າງເທິງ.

ຫມາຍເຫດໃນ Windows 64-bit
ເຊີບເວີ Windows .NET ຮອງຮັບຮູບແບບຂໍ້ມູນ LLP64 ໃນສະຖາປັດຕະຍະກຳ Intel Itanium.

ຮູບແບບຂໍ້ມູນ LLP64 ແຕກຕ່າງຈາກຮູບແບບຂໍ້ມູນ LP64 ທີ່ເປັນມາດຕະຖານໃນ 64-bit
ເວທີ Unix. ໃນອະດີດ, "int" ແລະ "long" ແມ່ນທັງສອງປະເພດຂໍ້ມູນ 32-bit, ໃນຂະນະທີ່
ຕົວຊີ້ແມ່ນກວ້າງ 64 ບິດ. ນອກຈາກນັ້ນ, ມີ 64-bit wide integral ແຍກຕ່າງຫາກ
ປະເພດ, "__int64". ໃນທາງກົງກັນຂ້າມ, ຮູບແບບຂໍ້ມູນ LP64 ທີ່ແຜ່ຂະຫຍາຍຢູ່ໃນເວທີ Unix
ໃຫ້ "int" ເປັນປະເພດ 32-bit, ໃນຂະນະທີ່ທັງສອງປະເພດ "ຍາວ" ແລະຕົວຊີ້ແມ່ນຂອງ
ຄວາມຊັດເຈນ 64-bit. ໃຫ້ສັງເກດວ່າທັງສອງແບບສະຫນອງສໍາລັບ 64-bits ຂອງ addressability.

Windows 64-bit ແລ່ນໃນ Itanium ສາມາດແລ່ນ 32-bit x86 binary
ໂປ່ງໃສ. ນີ້ຫມາຍຄວາມວ່າທ່ານສາມາດນໍາໃຊ້ການສ້າງ 32-bit ຂອງ Perl ໃນ 64-bit
ລະບົບ. ດ້ວຍເຫດຜົນນີ້, ເປັນຫຍັງຄົນເຮົາຕ້ອງການສ້າງ 64-bit ຂອງ Perl? ນີ້ແມ່ນ
ບາງ​ເຫດ​ຜົນ​ທີ່​ທ່ານ​ຈະ​ກັງ​ວົນ​:

· ແອັບພລິເຄຊັນພື້ນເມືອງ 64-bit ຈະເຮັດວຽກຢ່າງມີປະສິດທິພາບຫຼາຍຂຶ້ນໃນຮາດແວ Itanium.

·ບໍ່ມີຂອບເຂດຈໍາກັດ 2GB ກ່ຽວກັບຂະຫນາດຂະບວນການ.

· Perl ອັດຕະໂນມັດສະຫນອງການສະຫນັບສະຫນູນໄຟລ໌ຂະຫນາດໃຫຍ່ໃນເວລາທີ່ສ້າງຂຶ້ນພາຍໃຕ້ 64-bit Windows.

· ການຝັງ Perl ພາຍໃນແອັບພລິເຄຊັນ 64-bit.

ເຮັດວຽກ Perl Scripts
Perl scripts ໃນ UNIX ໃຊ້ "#!" (aka "shebang") ເສັ້ນເພື່ອຊີ້ບອກ OS ວ່າມັນ
ຄວນດໍາເນີນການໄຟລ໌ໂດຍໃຊ້ perl. Windows ບໍ່​ມີ​ວິ​ທີ​ການ​ປຽບ​ທຽບ​ເພື່ອ​ຊີ້​ບອກ​ຕົນ​ເອງ​
ໄຟລ໌ແມ່ນສາມາດປະຕິບັດໄດ້.

ແທນທີ່ຈະ, ວິທີການທີ່ມີຢູ່ທັງຫມົດເພື່ອປະຕິບັດໄຟລ໌ຂໍ້ຄວາມທໍາມະດາໃນ Windows ແມ່ນອີງໃສ່ໄຟລ໌
"ການຂະຫຍາຍ". ມີສາມວິທີທີ່ຈະໃຊ້ນີ້ເພື່ອດໍາເນີນການ perl scripts:

1. ມີສະຖານທີ່ທີ່ເອີ້ນວ່າ "ສະມາຄົມການຂະຫຍາຍໄຟລ໌". ນີ້ສາມາດຫມູນໃຊ້ໄດ້
ຜ່ານສອງຄໍາສັ່ງ "assoc" ແລະ "ftype" ທີ່ມາມາດຕະຖານກັບ Windows. ປະເພດ
"ftype /?" ສໍາ​ລັບ​ຕົວ​ຢ່າງ​ທີ່​ສົມ​ບູນ​ຂອງ​ວິ​ທີ​ການ​ຕັ້ງ​ຄ່າ​ນີ້​ສໍາ​ລັບ perl scripts (Say
ແມ່ນ​ຫຍັງ? ເຈົ້າຄິດວ່າ Windows ບໍ່ພ້ອມບໍ? :).

2. ນັບຕັ້ງແ​​ຕ່ສະມາຄົມເອກະສານບໍ່ໄດ້ເຮັດວຽກຢູ່ທົ່ວທຸກແຫ່ງ, ແລະມີລາຍງານແມງໄມ້ທີ່ມີ
ການເຊື່ອມໂຍງໄຟລ໌ທີ່ມັນເຮັດວຽກ, ວິທີການເກົ່າຂອງການຫໍ່ perl script
ເພື່ອເຮັດໃຫ້ມັນຄ້າຍຄືໄຟລ໌ batch ປົກກະຕິກັບ OS, ອາດຈະຖືກນໍາໃຊ້. ການ​ຕິດ​ຕັ້ງ
ຂະບວນການເຮັດໃຫ້ມີ "pl2bat.bat" script ທີ່ສາມາດຖືກນໍາໃຊ້ເພື່ອຫໍ່ perl
scripts ເຂົ້າໄປໃນໄຟລ໌ batch. ຍົກ​ຕົວ​ຢ່າງ:

pl2bat foo.pl

ຈະສ້າງໄຟລ໌ "FOO.BAT". ໝາຍເຫດ "pl2bat" ລອກເອົາສ່ວນທ້າຍ .pl ໃດໜຶ່ງອອກ ແລະເພີ່ມ a
.bat ຕໍ່ທ້າຍກັບໄຟລ໌ທີ່ສ້າງຂຶ້ນ.

ຖ້າທ່ານໃຊ້ 4DOS/NT ຫຼື shell ຄໍາສັ່ງທີ່ຄ້າຍຄືກັນ, ໃຫ້ສັງເກດວ່າ "pl2bat" ໃຊ້ "%*"
ຕົວແປໃນໄຟລ໌ batch ທີ່ສ້າງຂຶ້ນເພື່ອອ້າງອີງເຖິງການໂຕ້ຖຽງແຖວຄໍາສັ່ງທັງຫມົດ,
ດັ່ງນັ້ນທ່ານອາດຈະຈໍາເປັນຕ້ອງໃຫ້ແນ່ໃຈວ່າການກໍ່ສ້າງເຮັດວຽກຢູ່ໃນໄຟລ໌ batch. ດັ່ງນີ້
ການຂຽນ, ຜູ້ໃຊ້ 4DOS/NT ຈະຕ້ອງການຄໍາຖະແຫຼງ "ParameterChar = *" ໃນ 4NT.INI ຂອງເຂົາເຈົ້າ.
ໄຟລ໌ຫຼືຈະຕ້ອງດໍາເນີນການ "setdos /p*" ໃນໄຟລ໌ເລີ່ມຕົ້ນ 4DOS/NT ເພື່ອເປີດໃຊ້ງານ.
ນີ້ເພື່ອເຮັດວຽກ.

3. ການ​ນໍາ​ໃຊ້ "pl2bat​" ມີ​ບັນ​ຫາ​ຈໍາ​ນວນ​ຫນຶ່ງ​: ຊື່​ໄຟລ​໌​ໄດ້​ຮັບ​ການ​ປ່ຽນ​ແປງ​, ສະ​ນັ້ນ​ສະ​ຄິບ​ທີ່​
ອີງໃສ່ $0 ເພື່ອຊອກຫາສິ່ງທີ່ເຂົາເຈົ້າຕ້ອງເຮັດອາດຈະບໍ່ດໍາເນີນການຢ່າງຖືກຕ້ອງ; ແລ່ນ "pl2bat"
replicates ເນື້ອໃນຂອງ script ຕົ້ນສະບັບ, ແລະດັ່ງນັ້ນຂະບວນການນີ້ສາມາດເປັນ
ການບໍາລຸງຮັກສາຫຼາຍຖ້າຕົ້ນສະບັບໄດ້ຮັບການປັບປຸງເລື້ອຍໆ. ວິທີການທີ່ແຕກຕ່າງກັນ
ທີ່ຫຼີກເວັ້ນທັງສອງບັນຫາແມ່ນເປັນໄປໄດ້.

ມີສະຄຣິບທີ່ເອີ້ນວ່າ "runperl.bat" ທີ່ສາມາດສຳເນົາໄປໃສ່ຊື່ໄຟລ໌ໃດກໍໄດ້
(ພ້ອມກັບຄຳຕໍ່ທ້າຍ .bat). ຕົວຢ່າງ, ຖ້າທ່ານໂທຫາມັນ "foo.bat", ມັນຈະດໍາເນີນການ
ໄຟລ໌ "foo" ເມື່ອມັນຖືກປະຕິບັດ. ນັບຕັ້ງແຕ່ທ່ານສາມາດດໍາເນີນການໄຟລ໌ batch ໃນ Windows
ເວທີພຽງແຕ່ໂດຍການພິມຊື່ (ໂດຍບໍ່ມີການຂະຫຍາຍ), ນີ້ດໍາເນີນການປະສິດທິພາບ
ໄຟລ໌ "foo", ເມື່ອທ່ານພິມ "foo" ຫຼື "foo.bat". ດ້ວຍວິທີນີ້,
"foo.bat" ເຖິງແມ່ນວ່າສາມາດຢູ່ໃນສະຖານທີ່ທີ່ແຕກຕ່າງກັນກ່ວາໄຟລ໌ "foo", ຕາບໃດທີ່
"foo" ແມ່ນມີຢູ່ບ່ອນໃດບ່ອນໜຶ່ງໃນເສັ້ນທາງ. ຖ້າສະຄຣິບຂອງທ່ານຢູ່ໃນລະບົບໄຟລ໌
ທີ່ອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ສັນຍາລັກ, ເຖິງແມ່ນວ່າທ່ານສາມາດຫຼີກເວັ້ນການຄັດລອກ "runperl.bat".

ນີ້ແມ່ນການຫັນປ່ຽນ: ຄັດລອກ "runperl.bat" ໄປ "runperl", ແລະພິມ "runperl". ອະທິບາຍ
ພຶດຕິກໍາທີ່ສັງເກດເຫັນ, ຫຼືການຂາດມັນ. :) Hint: .gnidnats llits er'uoy fi
"lrepnur" eteled :tniH

Miscellaneous ສິ່ງທີ່
ຊຸດເຕັມຂອງເອກະສານ HTML ຖືກຕິດຕັ້ງ, ດັ່ງນັ້ນທ່ານຄວນສາມາດນໍາໃຊ້ມັນຖ້າທ່ານມີ
ຕົວທ່ອງເວັບທີ່ຕິດຕັ້ງຢູ່ໃນລະບົບຂອງທ່ານ.

"perldoc" ຍັງເປັນເຄື່ອງມືທີ່ເປັນປະໂຫຍດສໍາລັບການຊອກຫາຂໍ້ມູນທີ່ມີຢູ່ໃນເອກະສານ,
ໂດຍ​ສະ​ເພາະ​ແມ່ນ​ການ​ຮ່ວມ​ກັນ​ກັບ pager ເຊັ່ນ "ຫນ້ອຍ​" (ສະ​ບັບ​ທີ່​ຜ່ານ​ມາ​ທີ່​ມີ Windows​
ສະຫນັບສະຫນູນ). ທ່ານອາດຈະຕ້ອງຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ PAGER ເພື່ອໃຊ້ pager ສະເພາະ.
"perldoc -f foo" ຈະພິມຂໍ້ມູນກ່ຽວກັບຕົວປະຕິບັດການ perl "foo".

ຄວາມຜິດພາດທົ່ວໄປອັນໜຶ່ງເມື່ອໃຊ້ພອດນີ້ກັບຫ້ອງສະໝຸດ GUI ເຊັ່ນ "Tk" ແມ່ນສົມມຸດວ່າ
ພຶດຕິກໍາປົກກະຕິຂອງ Perl ໃນການເປີດຫນ້າຕ່າງເສັ້ນຄໍາສັ່ງຈະຫາຍໄປ. ນີ້ບໍ່ແມ່ນ
ກໍລະນີ. ຖ້າທ່ານຕ້ອງການເລີ່ມຕົ້ນສໍາເນົາຂອງ "perl" ໂດຍບໍ່ມີການເປີດປ່ອງຢ້ຽມຄໍາສັ່ງ, ໃຊ້
ການປະຕິບັດ "wperl" ສ້າງຂຶ້ນໃນລະຫວ່າງຂະບວນການຕິດຕັ້ງ. ການ​ນໍາ​ໃຊ້​ແມ່ນ​ແທ້​ດຽວ​ກັນ​
ເປັນ "perl" ປົກກະຕິໃນ Windows, ຍົກເວັ້ນທາງເລືອກເຊັ່ນ "-h" ບໍ່ເຮັດວຽກ (ຍ້ອນວ່າພວກເຂົາຕ້ອງການ a
ປ່ອງຢ້ຽມເສັ້ນຄໍາສັ່ງທີ່ຈະພິມໃສ່).

ຖ້າທ່ານພົບຂໍ້ບົກພ່ອງໃນ perl, ທ່ານສາມາດດໍາເນີນການ "perlbug" ເພື່ອສ້າງລາຍງານຂໍ້ຜິດພາດ (ທ່ານອາດຈະຕ້ອງ.
ສົ່ງມັນດ້ວຍຕົນເອງຖ້າ "perlbug" ບໍ່ສາມາດຊອກຫາ mailer ໃນລະບົບຂອງທ່ານ).

ໃຊ້ perlwin32 ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    SAGA GIS
    SAGA GIS
    SAGA - ລະບົບສໍາລັບການອັດຕະໂນມັດ
    Geoscientific Analyzes - ແມ່ນພູມສາດ
    ຊອບແວລະບົບຂໍ້ມູນຂ່າວສານ (GIS) ກັບ
    ຄວາມສາມາດອັນຍິ່ງໃຫຍ່ສໍາລັບ geodata
    ການປຸງແຕ່ງ ແລະ ana...
    ດາວໂຫລດ SAGA GIS
  • 2
    ກ່ອງເຄື່ອງມືສໍາລັບ Java/JTOPen
    ກ່ອງເຄື່ອງມືສໍາລັບ Java/JTOPen
    IBM Toolbox ສໍາລັບ Java / JTOPen ແມ່ນ a
    ຫ້ອງສະຫມຸດຂອງຫ້ອງຮຽນ Java ສະຫນັບສະຫນູນ
    ໂປຣແກຣມລູກຄ້າ/ເຊີບເວີ ແລະອິນເຕີເນັດ
    ແບບຈໍາລອງກັບລະບົບທີ່ແລ່ນ OS/400,
    i5/OS, o...
    ດາວໂຫລດ Toolbox ສໍາລັບ Java/JTOPen
  • 3
    D3.js
    D3.js
    D3.js (ຫຼື D3 ສໍາລັບເອກະສານທີ່ຂັບເຄື່ອນດ້ວຍຂໍ້ມູນ)
    ເປັນຫ້ອງສະຫມຸດ JavaScript ທີ່ອະນຸຍາດໃຫ້ທ່ານ
    ເພື່ອຜະລິດຂໍ້ມູນແບບເຄື່ອນໄຫວ, ການໂຕ້ຕອບ
    ການສະແດງພາບໃນຕົວທ່ອງເວັບ. ດ້ວຍ D3
    ເຈົ້າ ...
    ດາວໂຫລດ D3.js
  • 4
    Shadowsocks
    Shadowsocks
    ຕົວແທນອຸໂມງໄວທີ່ຊ່ວຍທ່ານໄດ້
    bypass firewalls ນີ້ແມ່ນຄໍາຮ້ອງສະຫມັກ
    ທີ່ຍັງສາມາດເອົາມາຈາກ
    https://sourceforge.net/projects/shadowsocksgui/.
    ມັນຮາ...
    ດາວໂຫລດ Shadowsocks
  • 5
    ຫົວຂໍ້ GLPI
    ຫົວຂໍ້ GLPI
    ດາວ​ໂຫຼດ​ການ​ປ່ອຍ​ທີ່
    https://github.com/stdonato/glpi-modifications/
    ຮູບແບບສີສັນສຳລັບ GLPI 0.84 ແລະ 0.85 ໃໝ່
    ການແກ້ໄຂສໍາລັບ GLPI ນີ້ແມ່ນ
    ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ທີ່ c ...
    ດາວໂຫລດຫົວຂໍ້ GLPI
  • 6
    SMPlayer
    SMPlayer
    SMPlayer ເປັນຜູ້ນສື່ມວນຊົນຟຣີສໍາລັບ
    Windows ແລະ Linux ທີ່ມີຕົວແປງສັນຍານໃນຕົວ
    ທີ່ຍັງສາມາດຫຼິ້ນວິດີໂອ YouTube. ຫນຶ່ງ
    ຂອງລັກສະນະທີ່ຫນ້າສົນໃຈຫຼາຍທີ່ສຸດຂອງ
    SMPlayer:...
    ດາວໂຫລດ SMPlayer
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad