Amazon Best VPN GoSearch

Favicon OnWorks

perlwin32 - Dalam talian dalam Awan

Jalankan perlwin32 dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan perlwin32 yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


perlwin32 - Perl di bawah Windows

SINOPSIS


Ini adalah arahan untuk membina Perl di bawah Windows 2000 dan lebih baru.

DESCRIPTION


Sebelum anda mula, anda harus melihat fail README yang terdapat di peringkat atas
direktori yang mana pengedaran Perl telah diekstrak. Pastikan anda membaca dan memahami
syarat di mana perisian ini diedarkan.

Juga pastikan anda membaca "PEPIJAT DAN KAVEAT" di bawah untuk mengetahui batasan port ini.

Fail INSTALL dalam peringkat atas perl mempunyai banyak maklumat yang hanya berkaitan dengannya
orang membina Perl pada sistem seperti Unix. Khususnya, anda boleh mengabaikan mana-mana dengan selamat
maklumat yang bercakap tentang "Konfigurasikan".

Anda juga mungkin ingin melihat satu pilihan lain untuk membina perl yang akan berfungsi
Windows: fail README.cygwin, yang memberikan set peraturan yang berbeza untuk membina perl
Windows. Kaedah ini mungkin akan membolehkan anda membina perl yang lebih serasi dengan Unix, tetapi
anda juga perlu memuat turun dan menggunakan pelbagai sokongan masa bina dan masa jalan yang lain
perisian yang diterangkan dalam fail itu.

Set arahan ini bertujuan untuk menerangkan apa yang dipanggil pelabuhan "asli" Perl kepada
platform Windows. Ini termasuk kedua-dua sistem pengendalian Windows 32-bit dan 64-bit. The
Perl yang terhasil tidak memerlukan perisian tambahan untuk dijalankan (selain daripada yang disertakan bersama anda
sistem operasi). Pada masa ini, port ini mampu menggunakan salah satu daripada yang berikut
penyusun pada seni bina Intel x86:

Microsoft Visual C++ versi 6.0 atau lebih baru
Pengkompil Intel C++ (percubaan)
Gcc oleh mingw.org gcc versi 3.4.5 atau lebih baru
Gcc oleh mingw-w64.org gcc versi 4.4.3 atau lebih baru

Ambil perhatian bahawa dua yang terakhir ini sebenarnya adalah projek bersaing yang kedua-duanya menyampaikannya dengan lengkap
rantai alat gcc untuk MS Windows:

<http://mingw.org>
Menyampaikan rantai alat gcc yang menyasarkan platform Windows 32-bit.

<http://mingw-w64.org>
Menyampaikan rantai alat gcc yang menyasarkan kedua-dua platform Windows 64-bit dan 32-bit Windows
(walaupun nama projek "mingw-w64" mereka bukan sahaja berorientasikan 64-bit). Mereka menyampaikan
penyusun gcc asli dan penyusun silang yang turut disokong oleh perl
makefile.

Penyusun Microsoft Visual C++ juga kini diberikan secara percuma. Mereka tersedia
sebagai "Visual C++ Toolkit 2003" atau "Visual C++ 2005-2013 Express Edition" (dan juga sebagai sebahagian
daripada ".NET Framework SDK") dan merupakan penyusun yang sama yang dihantar dengan "Visual C++ .NET
2003 Professional" atau "Visual C++ 2005-2013 Professional" masing-masing.

Port ini juga boleh dibina pada IA64/AMD64 menggunakan:

Microsoft Platform SDK Nov 2001 (pengkompil 64-bit dan alatan)
Pengkompil MinGW64 (gcc versi 4.4.3 atau lebih baru)

SDK Windows boleh dimuat turun darihttp://www.microsoft.com/>. Penyusun MinGW64
boleh didapati dihttp://mingw-w64.org>. Yang terakhir ini sebenarnya adalah penyasaran pengkompil silang
Win64. Terdapat juga pengkompil yang dipangkas (tiada java, atau gfortran) yang sesuai untuk membina
perl boleh didapati di:http://strawberryperl.com/package/kmx/64_gcctoolchain/>

NOTA: Jika anda menggunakan pengkompil 32-bit untuk membina perl pada operasi Windows 64-bit
sistem, maka anda harus menetapkan pembolehubah persekitaran WIN64 kepada "undef". Juga, yang dipangkas
down compiler hanya lulus ujian apabila USE_ITHREADS *= define (berbanding undef) dan apabila
baris CFG *= Debug diulas keluar.

Port ini menyokong sepenuhnya MakeMaker (set modul yang digunakan untuk membina sambungan ke
perl). Oleh itu, anda sepatutnya boleh membina dan memasang kebanyakan sambungan yang terdapat dalam
tapak CPAN. Lihat "Petua Penggunaan untuk Perl pada Windows" di bawah untuk mendapatkan petunjuk umum tentang perkara ini.

Menetapkan Up Perl on Windows
Membuat
Anda memerlukan program "buat" untuk membina sumber. Jika anda menggunakan Visual C++ atau
Alat Windows SDK, nmake akan berfungsi. Binaan menggunakan gcc memerlukan dmake.

dmake ialah buatan percuma yang mempunyai ciri makro yang sangat bagus dan
kesejajaran.

Port dmake untuk Windows tersedia daripada:

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

Ambil dan pasang dmake di suatu tempat di laluan anda.

Command Shell
Gunakan cangkerang "cmd" lalai yang disertakan dengan Windows. Beberapa versi yang popular
Cangkang 4DOS/NT mempunyai ketidakserasian yang boleh menyebabkan masalah anda. Jika binaan gagal
di bawah cangkerang itu, cuba bina semula dengan cangkerang cmd.

Pastikan laluan ke direktori binaan tidak mengandungi ruang. Binaan biasanya
berfungsi dalam keadaan ini, tetapi beberapa ujian akan gagal.

Microsoft Visual C ++
Nmake yang disertakan dengan Visual C++ akan mencukupi untuk membina. Visual C memerlukan itu
perkara tertentu disediakan dalam konsol sebelum Visual C akan berjaya dijalankan. Untuk membuat
kotak konsol boleh menjalankan pengkompil C, anda perlu terlebih dahulu, menjalankan
fail "vcvars32.bat" untuk disusun untuk x86-32 dan untuk x86-64 "vcvarsall.bat x64" atau
"vcvarsamd64.bat". Pada pemasangan biasa produk pengkompil Microsoft C, kumpulan ini
fail sudah ada dalam pembolehubah persekitaran "PATH" anda jadi anda boleh menaipnya sahaja
tanpa laluan mutlak ke konsol anda. Jika anda perlu mencari jalan mutlak untuk
fail kelompok, ia biasanya ditemui di suatu tempat seperti C:\Program Files\Microsoft Visual
Studio\VC98\Bin. Dengan beberapa produk Microsoft C yang lebih baharu (dikeluarkan selepas ~2004), the
pemasang akan meletakkan pintasan dalam menu mula untuk melancarkan tetingkap konsol baharu dengan
konsol telah disediakan untuk seni bina sasaran anda (x86-32 atau x86-64 atau IA64).
Dengan penyusun yang lebih baharu, anda juga boleh menggunakan fail kelompok yang lebih lama jika anda memilihnya.

Anda juga boleh menggunakan dmake untuk membina menggunakan Visual C++; dengan syarat, walau bagaimanapun, anda menetapkan OSRELEASE
kepada "microsft" (atau apa sahaja nama direktori di mana Visual C dmake
konfigurasi hidup) dalam persekitaran anda dan edit win32/config.vc untuk menukar
"make=nmake" menjadi "make=dmake". Langkah terakhir hanya penting jika anda ingin menggunakannya
dmake sebagai lalai anda buat sambungan bangunan menggunakan MakeMaker.

Microsoft Visual C++ 2008-2013 Edisi Ekspres
Versi percuma Visual C++ 2008-2013 Professional ini mengandungi penyusun yang sama
dan pemaut yang dihantar dengan versi penuh, dan juga mengandungi semua yang diperlukan untuk
bina Perl, dan bukannya memerlukan muat turun berasingan Windows SDK seperti sebelumnya
versi lakukan.

Pakej ini boleh dimuat turun dengan mencari di Pusat Muat Turun di
<http://www.microsoft.com/downloads/search.aspx?displaylang=ms>. (Menyediakan tepat
pautan ke pakej ini telah membuktikan tugas sia-sia kerana pautan terus berubah
begitu kerap.)

Pasang Visual C++ 2008-2013 Express, kemudian sediakan persekitaran anda menggunakan, cth

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

(dengan mengandaikan lokasi pemasangan lalai telah dipilih).

Perl kini perlu membina menggunakan win32/Makefile. Anda perlu mengedit fail itu ke
tetapkan CCTYPE kepada salah satu MSVC90FREE-MSVC120FREE dahulu.

Microsoft Visual C++ 2005 Express Edition
Versi percuma Visual C++ 2005 Professional ini mengandungi pengkompil dan
penghubung yang dihantar dengan versi penuh, tetapi tidak mengandungi semua yang diperlukan
membina Perl.

Anda juga perlu memuat turun "SDK Windows" ("SDK Teras" dan "SDK MDAC"
komponen diperlukan) untuk lebih banyak fail pengepala dan perpustakaan.

Pakej ini kedua-duanya boleh dimuat turun dengan mencari di Pusat Muat Turun di
<http://www.microsoft.com/downloads/search.aspx?displaylang=ms>. (Menyediakan tepat
pautan ke pakej ini telah membuktikan tugas sia-sia kerana pautan terus berubah
begitu kerap.)

Cuba dapatkan versi terkini Windows SDK. Kadang-kadang pakej ini mengandungi
versi OS Windows tertentu dalam nama mereka, tetapi sebenarnya berfungsi pada versi OS lain
juga. Sebagai contoh, "Windows Server 2003 R2 Platform SDK" juga berjalan pada Windows XP
SP2 dan Windows 2000.

Pasang Visual C++ 2005 dahulu, kemudian Platform SDK. Sediakan persekitaran anda sebagai
berikut (dengan mengandaikan lokasi pemasangan lalai telah dipilih):

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

SET LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

(PlatformSDKDir mungkin perlu ditetapkan secara berbeza bergantung pada versi anda
sedang menggunakan. Versi terdahulu dipasang ke dalam "C:\Program Files\Microsoft SDK", manakala
versi terkini dipasang ke lokasi khusus versi seperti "C:\Program
Files\Microsoft Platform SDK untuk Windows Server 2003 R2".)

Perl kini perlu membina menggunakan win32/Makefile. Anda perlu mengedit fail itu ke
menetapkan

CCTYPE = MSVC80PERCUMA

dan untuk menetapkan CCHOME, CCINCDIR dan CCLIBDIR mengikut persediaan persekitaran di atas.

Kit Alat Microsoft Visual C++ 2003
Kit alat percuma ini mengandungi pengkompil dan pemaut yang sama yang dihantar dengan Visual C++ .NET
2003 Profesional, tetapi tidak mengandungi semua yang diperlukan untuk membina Perl.

Anda juga perlu memuat turun "SDK Platform" ("SDK Teras" dan "SDK MDAC"
komponen diperlukan) untuk fail pengepala, perpustakaan dan rc.exe, dan ".NET Framework
SDK" untuk lebih banyak perpustakaan dan nmake.exe. Ambil perhatian bahawa yang terakhir (yang juga termasuk
pengkompil dan pemaut percuma) memerlukan ".NET Framework Redistributable" menjadi
dipasang dahulu. Ini boleh dimuat turun dan dipasang secara berasingan, tetapi disertakan dalam
"Visual C++ Toolkit 2003" pula.

Pakej ini semua boleh dimuat turun dengan mencari di Pusat Muat Turun di
<http://www.microsoft.com/downloads/search.aspx?displaylang=ms>. (Menyediakan tepat
pautan ke pakej ini telah membuktikan tugas sia-sia kerana pautan terus berubah
begitu kerap.)

Cuba dapatkan versi terkini Windows SDK. Kadang-kadang pakej ini mengandungi
versi OS Windows tertentu dalam nama mereka, tetapi sebenarnya berfungsi pada versi OS lain
juga. Sebagai contoh, "Windows Server 2003 R2 Platform SDK" juga berjalan pada Windows XP
SP2 dan Windows 2000.

Pasang Kit Alat dahulu, kemudian SDK Platform, kemudian SDK Rangka Kerja .NET. Persediaan
persekitaran anda seperti berikut (dengan mengandaikan lokasi pemasangan lalai telah dipilih):

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 mungkin perlu ditetapkan secara berbeza bergantung pada versi anda
sedang menggunakan. Versi terdahulu dipasang ke dalam "C:\Program Files\Microsoft SDK", manakala
versi terkini dipasang ke lokasi khusus versi seperti "C:\Program
Files\Microsoft Platform SDK untuk Windows Server 2003 R2".)

Beberapa fail yang diperlukan masih akan hilang:

· cvtres.exe diperlukan oleh link.exe apabila menggunakan fail .res. Ia sebenarnya
dipasang oleh .NET Framework SDK, tetapi ke lokasi seperti berikut:

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

Salin dari sana ke %PlatformSDKDir%\Bin

· lib.exe biasanya digunakan untuk membina perpustakaan, tetapi link.exe dengan / lib pilihan
juga berfungsi, jadi tukar win32/config.vc untuk menggunakannya sebaliknya:

Tukar bacaan baris:

ar='lib'

kepada:

ar='pautan / lib'

Ia juga mungkin berguna untuk mencipta fail kelompok yang dipanggil lib.bat dalam C:\Program
Files\Microsoft Visual C++ Toolkit 2003\bin mengandungi:

@ Echo off
pautan / lib %*

untuk manfaat mana-mana modul sambungan C nakal yang anda mungkin mahu bina
kemudian yang secara eksplisit merujuk "lib" daripada mengambil nilainya daripada
$Config{ar}.

· setargv.obj diperlukan untuk membina perlglob.exe (dan perl.exe jika USE_SETARGV
pilihan didayakan). SDK Platform membekalkan fail objek ini dalam bentuk sumber dalam
%PlatformSDKDir%\src\crt. Salin setargv.c, cruntime.h dan internal.h dari sana ke
beberapa lokasi sementara dan bina setargv.obj menggunakan

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

Kemudian salin setargv.obj ke %PlatformSDKDir%\lib

Sebagai alternatif, jika anda tidak memerlukan perlglob.exe dan tidak perlu mendayakan
Pilihan USE_SETARGV maka anda boleh mengalih keluar semua sebutan $(GLOBEXE) dengan selamat
win32/Makefile dan setargv.obj tidak akan diperlukan.

Perl kini perlu membina menggunakan win32/Makefile. Anda perlu mengedit fail itu ke
menetapkan

CCTYPE = MSVC70PERCUMA

dan untuk menetapkan CCHOME, CCINCDIR dan CCLIBDIR mengikut persediaan persekitaran di atas.

Penyusun 64-bit Microsoft Platform SDK
Nmake yang disertakan dengan Platform SDK sudah memadai untuk membina Perl. Pastikan
anda sedang membina dalam salah satu cengkerang "Membina Persekitaran" yang tersedia selepas anda
pasang Platform SDK daripada Menu Mula.

Keluaran MinGW 3 dengan gcc
Perl boleh disusun dengan gcc daripada keluaran MinGW 3 dan lebih baru (menggunakan gcc 3.4.5 dan
nanti). Ia boleh dimuat turun di sini:

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

Anda juga memerlukan dmake. Lihat "Buat" di atas tentang cara mendapatkannya.

Pengkompil Intel C++
Sokongan percubaan untuk menggunakan Intel C++ Compiler telah ditambah. Edit win32/Makefile
dan pilih CCTYPE yang betul untuk Visual C yang dipasangkan Intel C. Juga
nyahkomen __ICC untuk membolehkan Intel C pada sokongan Visual C. Untuk menyediakan binaan
persekitaran, dari Menu Mula jalankan mod IA-32 Visual Studio 20__ atau Intel 64 Visual
Mod Studio 20__ mengikut kesesuaian. Kemudian jalankan nmake seperti biasa dalam kotak gesaan itu.

Hanya Intel C++ Compiler v12.1 telah diuji. Versi lain mungkin akan berfungsi.
Menggunakan Pengkompil Intel C++ dan bukannya Visual C mempunyai manfaat keserasian C99
yang diperlukan oleh beberapa modul CPAN XS, sambil mengekalkan keserasian dengan Visual C
kod objek dan infrastruktur penyahpepijatan Visual C tidak seperti GCC.

Bangunan
· Pastikan anda berada dalam subdirektori "win32" di bawah peringkat atas perl. Direktori ini
mengandungi "Makefile" yang akan berfungsi dengan versi nmake yang disertakan dengan Visual C++
atau SDK Windows, dan dmake "makefile.mk" yang akan berfungsi untuk semua yang disokong
penyusun. Lalai dalam fail make dmake disediakan untuk membina menggunakan MinGW/gcc.

· Edit makefile.mk (atau Makefile, jika anda menggunakan nmake) dan tukar nilai
INST_DRV dan INST_TOP. Anda juga boleh mendayakan pelbagai bendera binaan. Ini dijelaskan
dalam makefiles.

Ambil perhatian bahawa secara amnya bukanlah idea yang baik untuk mencuba membina perl dengan INST_DRV dan
INST_TOP ditetapkan kepada laluan yang telah wujud daripada binaan sebelumnya. Khususnya, ini
boleh menyebabkan masalah dengan ujian lib/ExtUtils/t/Embed.t, yang cuba membina
program ujian dan mungkin akhirnya membina terhadap direktori lib/CORE perl yang dipasang
bukannya yang sedang diuji.

Anda perlu memastikan bahawa CCTYPE ditetapkan dengan betul dan CCHOME menunjukkannya
di mana sahaja anda memasang pengkompil anda.

Jika membina dengan pengkompil silang yang disediakan oleh mingw-w64.org anda perlu menyahkomen
baris yang menetapkan GCCCROSS dalam makefile.mk. Lakukan ini hanya jika salib-
pengkompil - iaitu hanya jika folder bin tidak mengandungi gcc.exe. (Penyusun silang
tidak menyediakan gcc.exe, g++.exe, ar.exe, dll. Sebaliknya, semua boleh laku ini
diawali dengan 'x86_64-w64-mingw32-'.)

Nilai lalai untuk CCHOME dalam makefiles untuk Visual C++ mungkin tidak betul untuk
beberapa versi. Pastikan lalai wujud dan sah.

Anda juga mungkin perlu mengulas baris "DELAYLOAD = ..." dalam Makefile jika anda
menggunakan VC++ 6.0 tanpa pek perkhidmatan terkini dan pemaut melaporkan dalaman
kesilapan.

Jika anda ingin membina beberapa sambungan teras secara statik ke dalam dll perl, nyatakan ia dalam
makro STATIC_EXT.

NOTA: Pilihan binaan USE_64_BIT_INT tidak disokong dengan Visual C++ 32 6.0-bit
penyusun

Pastikan anda membaca arahan berhampiran bahagian atas makefiles dengan teliti.

· Taip "dmake" (atau "nmake" jika anda menggunakan make itu).

Ini sepatutnya membina segala-galanya. Khususnya, ia akan mencipta perl.exe, perl522.dll at
peringkat atas perl, dan pelbagai dll sambungan lain di bawah direktori lib\auto. Jika
binaan gagal untuk sebarang sebab, pastikan anda telah melakukan langkah sebelumnya dengan betul.

Jika anda cukup maju dengan membina kod C, berikut adalah cadangan untuk mempercepatkan
membina perl, dan yang kemudiannya "membuat ujian". Cuba kekalkan pembolehubah persekitaran PATH anda
dengan bilangan folder paling sedikit yang mungkin (ingat untuk menyimpan folder pengkompil C anda
sana). "C:\WINDOWS\system32" atau "C:\WINNT\system32" bergantung pada versi OS anda
sepatutnya menjadi folder pertama dalam PATH, kerana "cmd.exe" ialah program yang paling kerap dilancarkan
semasa pembinaan dan ujian kemudian.

Ujian Perl on Windows
Taip "dmake test" (atau "nmake test"). Ini akan menjalankan kebanyakan ujian daripada testsuite
(banyak ujian akan dilangkau).

Seharusnya tidak ada kegagalan ujian.

Jika anda membina dengan Visual C++ 2013 maka tiga ujian pada masa ini mungkin gagal dengan Penjimatan Siang
Masalah berkaitan masa: t/io/fs.t, cpan/HTTP-Tiny/t/110_mirror.t and lib/File.Copy.t. Yang
kegagalan disebabkan oleh pepijat dalam CRT dalam VC++ 2013 yang akan diperbaiki dalam keluaran akan datang
daripada VC++, seperti yang dijelaskan oleh Microsoft di sini:
.
Sementara itu, jika anda memerlukan fungsi "stat" dan "utime" tetap, sila lihat di
Pengagihan CPAN Win32::UTCFileTime.

Jika anda membina dengan versi tertentu (cth 4.8.1) gcc daripada www.mingw.org maka
samb/POSIX/t/time.t mungkin gagal dalam ujian 17 kerana pepijat yang diketahui dalam binaan gcc tersebut: lihat
<http://sourceforge.net/p/mingw/bugs/2152/>.

Beberapa kegagalan ujian mungkin berlaku jika anda menggunakan shell arahan selain daripada "cmd.exe" asli,
atau jika anda membina dari laluan yang mengandungi ruang. Jadi jangan buat begitu.

Jika anda menjalankan ujian daripada tetingkap shell emacs, anda mungkin melihat kegagalan dalam op/stat.t.
Jalankan "dmake test-notty" dalam kes itu.

Tambahan pula, anda harus memastikan bahawa semasa "membuat ujian" anda tidak mempunyai sebarang alat GNU
pakej dalam laluan anda: beberapa kit alat seperti Unixutils menyertakan beberapa alat ("jenis" untuk
instance) yang mengatasi Windows dan membuat ujian gagal. Alih keluar mereka dari laluan anda
semasa menguji untuk mengelakkan ralat ini.

Sila laporkan sebarang kegagalan lain seperti yang diterangkan di bawah "PEPIJAT DAN KAVEAT".

Pemasangan of Perl on Windows
Taip "dmake install" (atau "nmake install"). Ini akan meletakkan perl yang baru dibina dan
perpustakaan di bawah apa sahaja "INST_TOP" yang ditunjukkan dalam Makefile. Ia juga akan memasang
dokumentasi pod di bawah "$INST_TOP\$INST_VER\lib\pod" dan versi HTML yang sama di bawah
"$INST_TOP\$INST_VER\lib\pod\html".

Untuk menggunakan Perl yang baru anda pasang, anda perlu menambah entri baharu pada PATH anda
pembolehubah persekitaran: "$INST_TOP\bin", cth

tetapkan PATH=c:\perl\bin;%PATH%

Jika anda memilih untuk menyahkomen "INST_VER" dan "INST_ARCH" dalam fail make, maka pemasangan
struktur adalah sedikit lebih rumit dan anda perlu menambah dua komponen PATH baharu
sebaliknya: "$INST_TOP\$INST_VER\bin" dan "$INST_TOP\$INST_VER\bin\$ARCHNAME", cth

tetapkan PATH=c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH%

Penggunaan Petua khususnya Perl on Windows
Pembolehubah Persekitaran
Laluan pemasangan yang anda tetapkan semasa binaan akan disusun menjadi perl, jadi anda
tidak perlu melakukan apa-apa tambahan untuk mula menggunakan perl itu (kecuali menambah lokasinya
kepada pembolehubah PATH anda).

Jika anda meletakkan sambungan di tempat yang luar biasa, anda boleh menetapkan PERL5LIB kepada senarai laluan
dipisahkan oleh koma bertitik di mana anda mahu perl mencari perpustakaan. carilah
perihalan pembolehubah persekitaran lain yang boleh anda tetapkan dalam perlrun.

Anda juga boleh mengawal shell yang digunakan oleh perl untuk dijalankan sistem () dan arahan backtick
melalui PERL5SHELL. Lihat perlrun.

Perl tidak bergantung pada pendaftaran, tetapi ia boleh mencari nilai lalai tertentu jika anda
memilih untuk meletakkan mereka di sana. Perl cuba membaca entri daripada
"HKEY_CURRENT_USER\Software\Perl" dan "HKEY_LOCAL_MACHINE\Software\Perl". Penyertaan dalam
yang pertama mengatasi entri dalam yang terakhir. Satu atau lebih daripada entri berikut (daripada
jenis REG_SZ atau REG_EXPAND_SZ) boleh ditetapkan:

lib-$] laluan perpustakaan standard versi khusus untuk ditambahkan pada @INC
laluan perpustakaan standard lib untuk ditambahkan pada @INC
sitelib-$] laluan pustaka tapak versi khusus untuk ditambahkan pada @INC
laluan perpustakaan tapak sitelib untuk ditambahkan pada @INC
vendorlib-$] laluan perpustakaan vendor khusus versi untuk ditambahkan pada @INC
laluan pustaka vendor vendorlib untuk ditambahkan pada @INC
PERL* sandaran untuk semua %ENV carian yang bermula dengan "PERL"

Perhatikan $] di atas tidak literal. Gantikan versi perl yang anda mahukan
untuk menghormati penyertaan itu, cth 5.6.0. Laluan mesti dipisahkan dengan koma bertitik, seperti biasa pada
Windows.

Fail Globbing
Secara lalai, perl mengendalikan globbing fail menggunakan sambungan File::Glob, yang menyediakan
globbing mudah alih.

Jika anda mahu perl menggunakan globbing yang meniru kebiasaan nama fail DOS,
anda mungkin ingin mempertimbangkan untuk menggunakan File::DosGlob untuk mengatasi dalaman bola ()
pelaksanaan. Lihat Fail::DosGlob untuk butiran.

Menggunakan perl dari baris arahan
Jika anda terbiasa menggunakan perl daripada pelbagai shell baris arahan yang terdapat dalam UNIX
persekitaran, anda akan kurang berpuas hati dengan apa yang Windows tawarkan melalui a
shell arahan.

Perkara penting untuk memahami tentang persekitaran Windows ialah baris arahan
anda taip diproses dua kali sebelum Perl melihatnya. Pertama, shell arahan anda
(biasanya CMD.EXE) mempraproses baris arahan, untuk mengendalikan pengalihan semula, persekitaran
pengembangan pembolehubah, dan lokasi boleh laku untuk dijalankan. Kemudian, perl boleh laku
memisahkan baris arahan yang tinggal kepada hujah individu, menggunakan masa jalan C
perpustakaan di mana Perl dibina.

Adalah amat penting untuk ambil perhatian bahawa baik shell mahupun masa jalan C tidak melakukan apa-apa
pengembangan kad bebas bagi argumen baris perintah (jadi kad bebas tidak perlu dipetik).
Selain itu, gelagat petikan shell dan masa jalan C adalah paling asas
(dan mungkin, jika anda menggunakan cangkerang bukan standard, tidak konsisten). Satu-satunya (berguna)
aksara petikan ialah petikan berganda ("). Ia boleh digunakan untuk melindungi ruang dan lain-lain
watak istimewa dalam hujah.

Dokumentasi Windows menerangkan peraturan parsing shell di sini:
<http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true>
dan peraturan penghuraian masa jalan C di sini:
<http://msdn.microsoft.com/en-us/library/17w5ykft%28v=VS.100%29.aspx>.

Berikut ialah beberapa pemerhatian lanjut berdasarkan eksperimen: Masa jalan C terputus
argumen di ruang dan menghantarnya ke program dalam argc/argv. Petikan berganda boleh
digunakan untuk menghalang hujah dengan ruang di dalamnya daripada berpecah. Anda boleh meletakkan a
petikan berganda dalam hujah dengan melepaskannya dengan garis miring ke belakang dan melampirkan keseluruhannya
hujah dalam petikan berganda. Serangan ke belakang dan sepasang petikan berganda
mengelilingi hujah akan dilucutkan oleh masa jalan C.

Aksara ubah hala fail "<", ">", dan "|" boleh dipetik dengan petikan berganda
(walaupun terdapat cadangan bahawa ini mungkin tidak selalu benar). Petikan tunggal ialah
tidak dianggap sebagai petikan oleh shell atau masa jalan C, mereka tidak akan dilucutkan oleh
shell (hanya untuk membuat petikan jenis ini tidak berguna sama sekali). Karet "^" juga ada
telah diperhatikan berkelakuan sebagai watak memetik, tetapi ini kelihatan seperti cangkerang
ciri, dan karet tidak dilucutkan daripada baris arahan, jadi Perl masih melihatnya
(dan fasa masa jalan C tidak menganggap karet sebagai watak petikan).

Berikut ialah beberapa contoh penggunaan shell "cmd":

Ini mencetak dua petikan berganda:

perl -e "cetak '\"\"' "

Ini melakukan perkara yang sama:

perl -e "cetak \"\\\"\\\"\" "

Ini mencetak "bar" dan menulis "foo" pada fail "kabur":

perl -e "cetak 'foo'; cetak 'bar' STDERR" > kabur

Ini mencetak "foo" ("bar" hilang ke mana-mana):

perl -e "cetak 'foo'; cetak STDERR 'bar'" 2> nul

Ini mencetak "bar" dan menulis "foo" ke dalam fail "kabur":

perl -e "cetak 'foo'; cetak 'bar' STDERR" 1> kabur

Ini menyalurkan "foo" ke kelui "kurang" dan mencetak "bar" pada konsol:

perl -e "cetak 'foo'; cetak 'bar' STDERR" | kurang

Ini memaipkan "foo\nbar\n" ke alat kelui yang kurang:

perl -le "cetak 'foo'; cetak 'bar' STDERR" 2>&1 | kurang

Ini paip "foo" ke alat kelui dan menulis "bar" dalam fail "kabur":

perl -e "cetak 'foo'; cetak 'bar' STDERR" 2> kabur | kurang

Menemui kegunaan cangkerang "command.com" pada Windows 9x dibiarkan sebagai
latihan kepada pembaca :)

Satu masalah yang sangat merosakkan dengan shell arahan 4NT untuk Windows ialah ia
(hampir) sentiasa menganggap % watak sebagai menunjukkan bahawa pengembangan pembolehubah persekitaran
diperlukan. Di bawah cengkerang ini, adalah penting untuk sentiasa menggandakan sebarang %
aksara yang anda mahu Perl lihat (contohnya, untuk pembolehubah cincang), walaupun apabila
mereka dipetik.

Sambungan Bangunan
Rangkaian Arkib Perl Komprehensif (CPAN) menawarkan banyak sambungan, beberapa daripadanya
yang memerlukan pengkompil C untuk membina. Tengok masukhttp://www.cpan.org/> untuk lebih lanjut
maklumat mengenai CPAN.

Ambil perhatian bahawa tidak semua sambungan yang tersedia daripada CPAN boleh berfungsi dalam Windows
persekitaran; anda hendaklah menyemak maklumat dihttp://www.cpantesters.org/> sebelum ini
melabur terlalu banyak usaha untuk mengalihkan modul yang tidak mudah dibina.

Kebanyakan sambungan (sama ada ia memerlukan pengkompil C atau tidak) boleh dibina, diuji dan
dipasang dengan mantra standard:

perl Makefile.PL
$BUAT
ujian $MAKE
pemasangan $MAKE

di mana $MAKE ialah apa sahaja program 'make' yang telah anda konfigurasikan perl untuk digunakan. Gunakan "perl
-V:make" untuk mengetahui apakah ini. Sesetengah sambungan mungkin tidak menyediakan testsuite (jadi
"Ujian $MAKE" mungkin tidak melakukan apa-apa atau gagal), tetapi yang paling serius melakukannya.

Adalah penting anda menggunakan program 'make' yang disokong dan pastikan Config.pm tahu
pasal itu. Jika anda tidak mempunyai nmake, anda boleh mendapatkan dmake dari lokasi
disebutkan sebelum ini atau dapatkan versi lama nmake yang dilaporkan tersedia daripada:

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

Pilihan lain ialah menggunakan make yang ditulis dalam Perl, tersedia daripada CPAN.

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

Anda juga boleh menggunakan dmake. Lihat "Buat" di atas tentang cara mendapatkannya.

Ambil perhatian bahawa MakeMaker sebenarnya mengeluarkan makefiles dengan sintaks yang berbeza bergantung pada apa
'buat' ia menganggap anda sedang menggunakannya. Oleh itu, adalah penting bahawa salah satu daripada yang berikut
nilai muncul dalam Config.pm:

make='nmake' # MakeMaker mengeluarkan sintaks nmake
make='dmake' # MakeMaker mengeluarkan sintaks dmake
sebarang nilai lain # MakeMaker mengeluarkan sintaks make generik
(cth GNU make, atau Perl make)

Jika nilai tidak sepadan dengan program 'make' yang anda mahu gunakan, edit Config.pm untuk membetulkannya
ia.

Jika modul melaksanakan XSUB, anda memerlukan salah satu penyusun C yang disokong. awak
mesti memastikan anda telah menyediakan persekitaran untuk pengkompil untuk baris arahan
kompilasi sebelum menjalankan "perl Makefile.PL" atau apa-apa permohonan make.

Jika modul tidak dibina atas sebab tertentu, lihat dengan teliti mengapa ia gagal, dan
melaporkan masalah kepada pengarang modul. Jika ia kelihatan seperti sokongan bangunan sambungan
bersalah, laporkan bahawa dengan butiran penuh tentang cara binaan gagal menggunakan perlbug
utiliti.

Peluasan Kad Liar baris arahan
Perintah lalai digunakan pada sistem pengendalian keturunan DOS (seperti yang ada)
biasanya tidak mengembangkan hujah kad bebas yang dibekalkan kepada program. Mereka menganggapnya sebagai
tugas permohonan untuk mengendalikannya. Ini biasanya dicapai dengan menghubungkan
aplikasi (dalam kes kami, perl) dengan kod permulaan yang biasanya disimpan oleh perpustakaan masa jalan C
menyediakan. Walau bagaimanapun, melakukan itu menghasilkan versi perl yang tidak serasi (sejak
tingkah laku kod pengembangan argv berbeza bergantung pada pengkompil, dan ia adalah sekata
buggy pada beberapa penyusun). Selain itu, ia mungkin menjadi punca kekecewaan jika anda menggunakannya
binari perl dengan cangkerang ganti yang *membesarkan kad bebas.

Sebaliknya, penyelesaian berikut berfungsi dengan baik. Perkara yang menarik mengenainya ialah 1) anda
boleh mula menggunakannya dengan segera; 2) ia lebih berkuasa, kerana ia akan melakukan yang betul
benda dengan corak seperti */*/*.c; 3) anda boleh memutuskan sama ada anda mahu/tidak mahu menggunakan
ia; dan 4) anda boleh melanjutkan kaedah untuk menambah sebarang penyesuaian (atau malah sepenuhnya
pelbagai jenis pengembangan kad bebas).

C:\> copy con c:\perl\lib\Wild.pm
# Wild.pm - tiru peluasan @ARGV pada cangkerang yang tidak
gunakan Fail::DosGlob;
@ARGV = peta {
my @g = Fail::DosGlob::glob($_) jika /[*?]/;
@g ? @g : $_;
} @ARGV;
1;
^Z
C:\> tetapkan PERL5OPT=-MWild
C:\> perl -le "for (@ARGV) { print }" */*/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

Perhatikan terdapat dua langkah yang berbeza di sana: 1) Anda perlu mencipta Wild.pm dan meletakkannya
dalam direktori perl lib anda. 2) Anda perlu menetapkan pembolehubah persekitaran PERL5OPT.
Jika anda mahu pengembangan argv menjadi lalai, cuma tetapkan PERL5OPT dalam lalai anda
persekitaran permulaan.

Jika anda menggunakan pengkompil Visual C, anda boleh mendapatkan baris arahan runtime C
pengembangan kad bebas dibina ke dalam perl binari. Perduaan yang terhasil akan sentiasa berkembang
baris arahan yang tidak disebut, yang mungkin bukan yang anda mahukan jika anda menggunakan shell yang melakukannya
itu untuk awak. Peluasan yang dilakukan juga agak kurang berkuasa daripada pendekatan
dicadangkan di atas.

Nota pada Windows 64-bit
Pelayan Windows .NET menyokong model data LLP64 pada seni bina Intel Itanium.

Model data LLP64 berbeza daripada model data LP64 yang merupakan norma pada 64-bit
Platform Unix. Dalam yang pertama, "int" dan "long" adalah kedua-dua jenis data 32-bit, manakala
penunjuk adalah 64 bit lebar. Di samping itu, terdapat kamiran lebar 64-bit yang berasingan
taip, "__int64". Sebaliknya, model data LP64 yang meresap pada platform Unix
menyediakan "int" sebagai jenis 32-bit, manakala kedua-dua jenis "panjang" dan penunjuk adalah daripada
Ketepatan 64-bit. Ambil perhatian bahawa kedua-dua model menyediakan 64-bit kebolehalamatan.

Windows 64-bit yang berjalan pada Itanium mampu menjalankan binari x32 86-bit
secara telus. Ini bermakna anda boleh menggunakan binaan 32-bit Perl pada 64-bit
sistem. Memandangkan ini, mengapa seseorang mahu membina binaan 64-bit Perl? Disini adalah
beberapa sebab mengapa anda akan mengganggu:

· Aplikasi asli 64-bit akan berjalan dengan lebih cekap pada perkakasan Itanium.

· Tiada had 2GB pada saiz proses.

· Perl secara automatik menyediakan sokongan fail besar apabila dibina di bawah Windows 64-bit.

· Membenamkan Perl dalam aplikasi 64-bit.

Berlari Perl skrip
Skrip Perl pada UNIX menggunakan "#!" (aka "shebang") baris untuk menunjukkan kepada OS bahawa ia
harus melaksanakan fail menggunakan perl. Windows tidak mempunyai cara yang setanding untuk menunjukkan sewenang-wenangnya
fail boleh laku.

Sebaliknya, semua kaedah yang tersedia untuk melaksanakan fail teks biasa pada Windows bergantung pada fail tersebut
"sambungan". Terdapat tiga kaedah untuk menggunakan ini untuk melaksanakan skrip perl:

1. Terdapat kemudahan yang dipanggil "persatuan sambungan fail". Ini boleh dimanipulasi
melalui dua arahan "assoc" dan "ftype" yang menjadi standard dengan Windows. taip
"ftype /?" untuk contoh lengkap tentang cara menyediakan ini untuk skrip perl (Katakanlah
apa? Anda fikir Windows tidak sedia perl? :).

2. Memandangkan persatuan fail tidak berfungsi di mana-mana, dan dilaporkan terdapat pepijat
persatuan fail di mana ia berfungsi, kaedah lama membungkus skrip perl
untuk menjadikannya kelihatan seperti fail kelompok biasa kepada OS, boleh digunakan. Pemasangan
proses menyediakan skrip "pl2bat.bat" yang boleh digunakan untuk membungkus perl
skrip ke dalam fail kelompok. Sebagai contoh:

pl2bat foo.pl

akan mencipta fail "FOO.BAT". Perhatikan "pl2bat" menanggalkan sebarang akhiran .pl dan menambah a
akhiran .bat pada fail yang dijana.

Jika anda menggunakan shell arahan 4DOS/NT atau serupa, ambil perhatian bahawa "pl2bat" menggunakan "%*"
pembolehubah dalam fail kelompok yang dijana untuk merujuk kepada semua argumen baris arahan,
jadi anda mungkin perlu memastikan bahawa binaan berfungsi dalam fail kelompok. Setakat ini
menulis, pengguna 4DOS/NT memerlukan pernyataan "ParameterChar = *" dalam 4NT.INI mereka
fail atau perlu melaksanakan "setdos /p*" dalam fail permulaan 4DOS/NT untuk membolehkan
ini untuk bekerja.

3. Menggunakan "pl2bat" mempunyai beberapa masalah: nama fail ditukar, jadi skrip itu
bergantung pada $0 untuk mencari perkara yang mesti mereka lakukan mungkin tidak berjalan dengan betul; menjalankan "pl2bat"
mereplikasi kandungan skrip asal, dan proses ini boleh berlaku
penyelenggaraan intensif jika yang asal kerap dikemas kini. Pendekatan yang berbeza
yang mengelakkan kedua-dua masalah adalah mungkin.

Skrip yang dipanggil "runperl.bat" tersedia yang boleh disalin ke mana-mana nama fail
(bersama-sama dengan akhiran .bat). Contohnya, jika anda memanggilnya "foo.bat", ia akan dijalankan
fail "foo" apabila ia dilaksanakan. Memandangkan anda boleh menjalankan fail kelompok pada Windows
platform hanya dengan menaip nama (tanpa sambungan), ini berjalan dengan berkesan
fail "foo", apabila anda menaip sama ada "foo" atau "foo.bat". Dengan kaedah ini,
"foo.bat" malah boleh berada di lokasi yang berbeza daripada fail "foo", selagi
"foo" tersedia di suatu tempat di PATH. Jika skrip anda berada pada sistem fail
yang membenarkan pautan simbolik, anda juga boleh mengelak daripada menyalin "runperl.bat".

Berikut ialah lencongan: salin "runperl.bat" ke "runperl", dan taip "runperl". Terangkan
tingkah laku yang diperhatikan, atau kekurangannya. :) Petunjuk: .gnidnats llits er'uoy fi
,"lrepnur" eteled :tniH

Lain-lain Perkara
Set lengkap dokumentasi HTML dipasang, jadi anda sepatutnya boleh menggunakannya jika ada
pelayar web yang dipasang pada sistem anda.

"perldoc" juga merupakan alat yang berguna untuk menyemak imbas maklumat yang terkandung dalam dokumentasi,
terutamanya bersempena dengan alat kelui seperti "kurang" (versi terkini yang mempunyai Windows
sokongan). Anda mungkin perlu menetapkan pembolehubah persekitaran PAGER untuk menggunakan pager tertentu.
"perldoc -f foo" akan mencetak maklumat tentang operator perl "foo".

Satu kesilapan biasa apabila menggunakan port ini dengan perpustakaan GUI seperti "Tk" adalah menganggapnya
Tingkah laku biasa Perl membuka tetingkap baris arahan akan hilang. Ini bukan
kes. Jika anda ingin memulakan salinan "perl" tanpa membuka tetingkap baris arahan, gunakan
boleh laku "wperl" yang dibina semasa proses pemasangan. Penggunaan adalah sama
sebagai "perl" biasa pada Windows, kecuali pilihan seperti "-h" tidak berfungsi (kerana mereka memerlukan a
tetingkap baris arahan untuk dicetak).

Jika anda menemui pepijat dalam perl, anda boleh menjalankan "perlbug" untuk membuat laporan pepijat (anda mungkin perlu
hantar secara manual jika "perlbug" tidak dapat mencari mel pada sistem anda).

Gunakan perlwin32 dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad




×
Pengiklanan
❤ ️Beli, tempah atau beli di sini — tanpa kos, membantu memastikan perkhidmatan percuma.