56
56
<li><a href="http://search.cpan.org">CPAN</a></li>
57
<li><a href="http://www.perl.org">Perl.org</a></li>
57
58
<li><a href="http://www.perl.com">Perl.com</a></li>
58
<li><a href="http://www.perl.org">Perl.org</a></li>
59
<li><a href="http://perlbuzz.com">Perl Buzz</a></li>
60
<li><a href="http://www.perlfoundation.org/perl5/index.cgi">Perl 5 Wiki</a></li>
61
<li><a href="http://jobs.perl.org">Perl Jobs</a></li>
59
62
<li><a href="http://www.pm.org">Perl Mongers</a></li>
60
63
<li><a href="http://www.perlmonks.org">Perl Monks</a></li>
61
64
<li><a href="http://planet.perl.org">Planet Perl</a></li>
118
121
away free. The Borland compiler is available as "Borland C++ Compiler Free
119
122
Command Line Tools" and is the same compiler that ships with the full
120
123
"Borland C++ Builder" product. The Microsoft compiler is available as
121
"Visual C++ Toolkit 2003", and also as part of the ".NET Framework SDK", and
122
is the same compiler that ships with "Visual Studio .NET 2003 Professional".</p>
124
"Visual C++ Toolkit 2003" or "Visual C++ 2005/2008 Express Edition" (and also
125
as part of the ".NET Framework SDK") and is the same compiler that ships with
126
"Visual C++ .NET 2003 Professional" or "Visual C++ 2005/2008 Professional"
123
128
<p>This port can also be built on the Intel IA64 using:</p>
124
129
<pre class="verbatim"> Microsoft Platform SDK Nov 2001 (64-bit compiler and tools)</pre><p>The MS Platform SDK can be downloaded from <a href="http://www.microsoft.com/">http://www.microsoft.com/</a>.</p>
125
130
<p>This port fully supports MakeMaker (the set of modules that
176
181
latter step is only essential if you want to use dmake as your default
177
182
make for building extensions using MakeMaker.</p>
184
<li><a name="Microsoft-Visual-C%2b%2b-2008-Express-Edition-Beta-2"></a><b>Microsoft Visual C++ 2008 Express Edition Beta 2</b>
185
<p>This free version of Visual C++ 2008 Professional contains the same compiler
186
and linker that ship with the full version, and also contains everything
187
necessary to build Perl, rather than requiring a separate download of the
188
Platform SDK like previous versions did.</p>
189
<p>The Beta 2 package is currently available from</p>
190
<p><a href="http://msdn2.microsoft.com/en-us/express/future/default.aspx">http://msdn2.microsoft.com/en-us/express/future/default.aspx</a>
191
<a href="http://msdn2.microsoft.com/en-gb/express/future/default.aspx">http://msdn2.microsoft.com/en-gb/express/future/default.aspx</a></p>
192
<p>The final release version will probably be found by searching in the Download
193
Center at <a href="http://www.microsoft.com/downloads/search.aspx?displaylang=en">http://www.microsoft.com/downloads/search.aspx?displaylang=en</a> in due
195
<p>Install Visual C++ 2008, then setup your environment using</p>
196
<pre class="verbatim"> <span class="j">C:</span>\<span class="w">Program</span> <span class="w">Files</span>\<span class="w">Microsoft</span> <span class="w">Visual</span> <span class="w">Studio</span> <span class="n">9.0</span>\<span class="w">Common7</span>\<span class="w">Tools</span>\<span class="w">vsvars32</span>.<span class="w">bat</span></pre>
197
<p>(assuming the default installation location was chosen).</p>
198
<p>Perl should now build using the win32/Makefile. You will need to edit that
200
<pre class="verbatim"> <span class="w">CCTYPE</span> = <span class="w">MSVC90FREE</span></pre>
203
<li><a name="Microsoft-Visual-C%2b%2b-2005-Express-Edition"></a><b>Microsoft Visual C++ 2005 Express Edition</b>
204
<p>This free version of Visual C++ 2005 Professional contains the same compiler
205
and linker that ship with the full version, but doesn't contain everything
206
necessary to build Perl.</p>
207
<p>You will also need to download the "Platform SDK" (the "Core SDK" and "MDAC
208
SDK" components are required) for more header files and libraries.</p>
209
<p>These packages can both be downloaded by searching in the Download Center at
210
<a href="http://www.microsoft.com/downloads/search.aspx?displaylang=en">http://www.microsoft.com/downloads/search.aspx?displaylang=en</a>. (Providing exact
211
links to these packages has proven a pointless task because the links keep on
212
changing so often.)</p>
213
<p>Try to obtain the latest version of the Platform SDK. Sometimes these packages
214
contain a particular Windows OS version in their name, but actually work on
215
other OS versions too. For example, the "Windows Server 2003 R2 Platform SDK"
216
also runs on Windows XP SP2 and Windows 2000.</p>
217
<p>According to the download pages these packages are only supported on Windows
218
2000/XP/2003, so trying to use these tools on Windows 95/98/ME and even Windows
219
NT probably won't work.</p>
220
<p>Install Visual C++ 2005 first, then the Platform SDK. Setup your environment
221
as follows (assuming default installation locations were chosen):</p>
222
<pre class="verbatim"> SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK</pre><pre class="verbatim"> <span class="w">SET</span> <span class="w">PATH</span>=<span class="i">%SystemRoot</span>%\<span class="w">system32</span><span class="sc">;</span><span class="i">%SystemRoot</span>%<span class="sc">;</span><span class="j">C:</span>\<span class="w">Program</span> <span class="w">Files</span>\<span class="w">Microsoft</span> <span class="w">Visual</span> <span class="w">Studio</span> <span class="n">8</span>\<span class="w">Common7</span>\<span class="w">IDE</span><span class="sc">;</span><span class="j">C:</span>\<span class="w">Program</span> <span class="w">Files</span>\<span class="w">Microsoft</span> <span class="w">Visual</span> <span class="w">Studio</span> <span class="n">8</span>\<span class="w">VC</span>\<span class="w">BIN</span><span class="sc">;</span><span class="j">C:</span>\<span class="w">Program</span> <span class="w">Files</span>\<span class="w">Microsoft</span> <span class="w">Visual</span> <span class="w">Studio</span> <span class="n">8</span>\<span class="w">Common7</span>\<span class="w">Tools</span><span class="sc">;</span><span class="j">C:</span>\<span class="w">Program</span> <span class="w">Files</span>\<span class="w">Microsoft</span> <span class="w">Visual</span> <span class="w">Studio</span> <span class="n">8</span>\<span class="w">SDK</span>\<span class="v">v2.0</span>\<span class="w">bin</span><span class="sc">;</span><span class="j">C:</span>\<span class="w">WINDOWS</span>\<span class="w">Microsoft</span>.<span class="w">NET</span>\<span class="w">Framework</span>\<span class="v">v2.0.50727</span><span class="sc">;</span><span class="j">C:</span>\<span class="w">Program</span> <span class="w">Files</span>\<span class="w">Microsoft</span> <span class="w">Visual</span> <span class="w">Studio</span> <span class="n">8</span>\<span class="w">VC</span>\<span class="w">VCPackages</span><span class="sc">;</span><span class="i">%PlatformSDKDir</span>%\<span class="w">Bin</span></pre>
223
<pre class="verbatim"> SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%PlatformSDKDir%\include</pre><pre class="verbatim"> SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%PlatformSDKDir%\lib</pre><pre class="verbatim"> SET LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727</pre><p>(The PlatformSDKDir might need to be set differently depending on which version
224
you are using. Earlier versions installed into "C:\Program Files\Microsoft SDK",
225
while the latest versions install into version-specific locations such as
226
"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2".)</p>
227
<p>Perl should now build using the win32/Makefile. You will need to edit that
229
<pre class="verbatim"> <span class="w">CCTYPE</span> = <span class="w">MSVC80FREE</span></pre>
230
<p>and to set CCHOME, CCINCDIR and CCLIBDIR as per the environment setup above.</p>
179
232
<li><a name="Microsoft-Visual-C%2b%2b-Toolkit-2003"></a><b>Microsoft Visual C++ Toolkit 2003</b>
180
233
<p>This free toolkit contains the same compiler and linker that ship with
181
Visual Studio .NET 2003 Professional, but doesn't contain everything
234
Visual C++ .NET 2003 Professional, but doesn't contain everything
182
235
necessary to build Perl.</p>
183
236
<p>You will also need to download the "Platform SDK" (the "Core SDK" and "MDAC
184
237
SDK" components are required) for header files, libraries and rc.exe, and
192
245
changing so often.)</p>
193
246
<p>Try to obtain the latest version of the Platform SDK. Sometimes these packages
194
247
contain a particular Windows OS version in their name, but actually work on
195
other OS versions too. For example, the "Windows Server 2003 SP1 Platform SDK"
248
other OS versions too. For example, the "Windows Server 2003 R2 Platform SDK"
196
249
also runs on Windows XP SP2 and Windows 2000.</p>
197
<p>According to the download pages the Toolkit and the .NET Framework SDK are only
198
supported on Windows 2000/XP/2003, so trying to use these tools on Windows
199
95/98/ME and even Windows NT probably won't work.</p>
250
<p>According to the download pages these packages are only supported on Windows
251
2000/XP/2003, so trying to use these tools on Windows 95/98/ME and even Windows
252
NT probably won't work.</p>
200
253
<p>Install the Toolkit first, then the Platform SDK, then the .NET Framework SDK.
201
254
Setup your environment as follows (assuming default installation locations
202
255
were chosen):</p>
203
<pre class="verbatim"> SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\Program Files\Microsoft SDK\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin
204
SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft SDK\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include
205
SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft SDK\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib</pre><p>Several required files will still be missing:</p>
256
<pre class="verbatim"> SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK</pre><pre class="verbatim"> 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</pre><pre class="verbatim"> SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;%PlatformSDKDir%\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include</pre><pre class="verbatim"> SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;%PlatformSDKDir%\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib</pre><p>(The PlatformSDKDir might need to be set differently depending on which version
257
you are using. Earlier versions installed into "C:\Program Files\Microsoft SDK",
258
while the latest versions install into version-specific locations such as
259
"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2".)</p>
260
<p>Several required files will still be missing:</p>
208
263
<p>cvtres.exe is required by link.exe when using a .res file. It is actually
209
264
installed by the .NET Framework SDK, but into a location such as the
211
<pre class="verbatim"> <span class="j">C:</span>\WINDOWS\Microsoft.NET\Framework\<span class="v">v1.1.4322</span></pre>
212
<p>Copy it from there to C:\Program Files\Microsoft SDK\Bin</p>
266
<pre class="verbatim"> <span class="j">C:</span>\<span class="w">WINDOWS</span>\<span class="w">Microsoft</span>.<span class="w">NET</span>\<span class="w">Framework</span>\<span class="v">v1.1.4322</span></pre>
267
<p>Copy it from there to %PlatformSDKDir%\Bin</p>
215
270
<p>lib.exe is normally used to build libraries, but link.exe with the /lib
216
271
option also works, so change win32/config.vc to use it instead:</p>
217
272
<p>Change the line reading:</p>
218
<pre class="verbatim"> ar=<span class="q">'lib'</span></pre>
273
<pre class="verbatim"> <span class="w">ar</span>=<span class="q">'lib'</span></pre>
220
<pre class="verbatim"> ar=<span class="q">'link /lib'</span></pre>
275
<pre class="verbatim"> <span class="w">ar</span>=<span class="q">'link /lib'</span></pre>
221
276
<p>It may also be useful to create a batch file called lib.bat in
222
277
C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin containing:</p>
223
278
<pre class="verbatim"> @echo off
229
284
<p>setargv.obj is required to build perlglob.exe (and perl.exe if the USE_SETARGV
230
285
option is enabled). The Platform SDK supplies this object file in source form
231
in C:\Program Files\Microsoft SDK\src\crt. Copy setargv.c, cruntime.h and
286
in %PlatformSDKDir%\src\crt. Copy setargv.c, cruntime.h and
232
287
internal.h from there to some temporary location and build setargv.obj using</p>
233
<pre class="verbatim"> cl.exe /c /I. /D_CRTBLD setargv.c</pre><p>Then copy setargv.obj to C:\Program Files\Microsoft SDK\lib</p>
288
<pre class="verbatim"> cl.exe /c /I. /D_CRTBLD setargv.c</pre><p>Then copy setargv.obj to %PlatformSDKDir%\lib</p>
234
289
<p>Alternatively, if you don't need perlglob.exe and don't need to enable the
235
290
USE_SETARGV option then you can safely just remove all mention of $(GLOBEXE)
236
291
from win32/Makefile and setargv.obj won't be required anyway.</p>
304
359
<p>The default value for CCHOME in the makefiles for Visual C++
305
360
may not be correct for some versions. Make sure the default exists
306
361
and is valid.</p>
307
<p>You may also need to comment out the <code class="inline">DELAYLOAD = ...</code>
362
<p>You may also need to comment out the <code class="inline"><span class="w">DELAYLOAD</span> = ...</code>
309
364
Makefile if you're using VC++ 6.0 without the latest service pack and
310
365
the linker reports an internal error.</p>
366
<p>If you are using VC++ 4.2 or earlier then you'll have to change the /EHsc
367
option in the CXX_FLAG macro to the equivalent /GX option.</p>
311
368
<p>If you have either the source or a library that contains des_fcrypt(),
312
369
enable the appropriate option in the makefile. A ready-to-use version
313
370
of fcrypt.c, based on the version originally written by Eric Young at
352
409
option -VI- for backward (bugward) compatibility for using the old Borland
353
410
search algorithm to locate header files.</p>
354
411
<p>If you run the tests on a FAT partition, you may see some failures for
355
<code class="inline"><a class="l_k" href="functions/link.html">link()</a></code> related tests:</p>
356
<pre class="verbatim"> Failed <a class="l_w" href="Test.html">Test</a> Stat Wstat Total Fail Failed List</pre>
357
<pre class="verbatim"> ../ext/IO/lib/IO/t/io_dup.t 6 4 66.67% 2-5
358
../lib/File/Temp/t/mktemp.t 9 1 11.11% 2
359
../lib/File/Temp/t/posix.t 7 1 14.29% 3
360
../lib/File/Temp/t/security.t 13 1 7.69% 2
361
../lib/File/Temp/t/tempfile.t 20 2 10.00% 2 4
362
comp/multiline.t 6 2 33.33% 5-6
363
io/dup.t 8 6 75.00% 2-7
364
op/write.t 47 7 14.89% 1-3 6 9-11</pre><p>Testing on NTFS avoids these errors.</p>
365
<p>Furthermore, you should make sure that during <code class="inline">make test</code>
412
<code class="inline"><a class="l_k" href="functions/link.html">link()</a></code> related tests (<i>op/write.t</i>, <i>op/stat.t</i> ...). Testing on
413
NTFS avoids these errors.</p>
414
<p>Furthermore, you should make sure that during <code class="inline"><span class="w">make</span> <span class="w">test</span></code>
367
416
have any GNU tool packages in your path: some toolkits like Unixutils
368
include some tools (<code class="inline">type</code>
417
include some tools (<code class="inline"><span class="w">type</span></code>
369
418
for instance) which override the Windows
370
419
ones and makes tests fail. Remove them from your path while testing to
371
420
avoid these errors.</p>
372
421
<p>Please report any other failures as described under <a href="#BUGS-AND-CAVEATS">"BUGS AND CAVEATS"</a>.</p>
373
422
<a name="Installation-of-Perl-on-Win32"></a><h2>Installation of Perl on Win32</h2>
374
423
<p>Type "dmake install" (or "nmake install"). This will put the newly
375
built perl and the libraries under whatever <code class="inline">INST_TOP</code>
424
built perl and the libraries under whatever <code class="inline"><span class="w">INST_TOP</span></code>
377
426
Makefile. It will also install the pod documentation under
378
<code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\<a class="l_w" href="lib.html">lib</a>\pod</code>
427
<code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\<span class="w">lib</span>\<span class="w">pod</span></code>
379
428
and HTML versions of the same under
380
<code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\<a class="l_w" href="lib.html">lib</a>\pod\html</code>
429
<code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\<span class="w">lib</span>\<span class="w">pod</span>\<span class="w">html</span></code>
382
431
<p>To use the Perl you just installed you will need to add a new entry to
383
your PATH environment variable: <code class="inline"><span class="i">$INST_TOP</span>\bin</code>
432
your PATH environment variable: <code class="inline"><span class="i">$INST_TOP</span>\<span class="w">bin</span></code>
385
<pre class="verbatim"> set PATH=c:\perl\bin;%PATH%</pre><p>If you opted to uncomment <code class="inline">INST_VER</code>
386
and <code class="inline">INST_ARCH</code>
434
<pre class="verbatim"> set PATH=c:\perl\bin;%PATH%</pre><p>If you opted to uncomment <code class="inline"><span class="w">INST_VER</span></code>
435
and <code class="inline"><span class="w">INST_ARCH</span></code>
388
437
then the installation structure is a little more complicated and you will
389
need to add two new PATH components instead: <code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\bin</code>
438
need to add two new PATH components instead: <code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\<span class="w">bin</span></code>
391
<code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\bin\<span class="i">$ARCHNAME</span></code>
440
<code class="inline"><span class="i">$INST_TOP</span>\<span class="i">$INST_VER</span>\<span class="w">bin</span>\<span class="i">$ARCHNAME</span></code>
393
442
<pre class="verbatim"> set PATH=c:\perl\5.6.0\bin;c:\perl\5.6.0\bin\MSWin32-x86;%PATH%</pre><a name="Usage-Hints-for-Perl-on-Win32"></a><h2>Usage Hints for Perl on Win32</h2>
404
453
backtick commands via PERL5SHELL. See <a href="perlrun.html">perlrun</a>.</p>
405
454
<p>Perl does not depend on the registry, but it can look up certain default
406
455
values if you choose to put them there. Perl attempts to read entries from
407
<code class="inline">HKEY_CURRENT_USER\Software\Perl</code>
408
and <code class="inline">HKEY_LOCAL_MACHINE\Software\Perl</code>
456
<code class="inline"><span class="w">HKEY_CURRENT_USER</span>\<span class="w">Software</span>\<span class="w">Perl</span></code>
457
and <code class="inline"><span class="w">HKEY_LOCAL_MACHINE</span>\<span class="w">Software</span>\<span class="w">Perl</span></code>
410
459
Entries in the former override entries in the latter. One or more of the
411
460
following entries (of type REG_SZ or REG_EXPAND_SZ) may be set:</p>
468
517
the caret as a quote character).</p>
469
518
<p>Here are some examples of usage of the "cmd" shell:</p>
470
519
<p>This prints two doublequotes:</p>
471
<pre class="verbatim"> perl -e <span class="q">"print '\"\"' "</span></pre>
520
<pre class="verbatim"> <span class="w">perl</span> -e <span class="q">"print '\"\"' "</span></pre>
472
521
<p>This does the same:</p>
473
<pre class="verbatim"> perl -e <span class="q">"print \"\\\"\\\"\" "</span></pre>
522
<pre class="verbatim"> <span class="w">perl</span> -e <span class="q">"print \"\\\"\\\"\" "</span></pre>
474
523
<p>This prints "bar" and writes "foo" to the file "blurch":</p>
475
<pre class="verbatim"> perl -e <span class="q">"print 'foo'; print STDERR 'bar'"</span> > blurch</pre>
524
<pre class="verbatim"> <span class="w">perl</span> -e <span class="q">"print 'foo'; print STDERR 'bar'"</span> > <span class="w">blurch</span></pre>
476
525
<p>This prints "foo" ("bar" disappears into nowhereland):</p>
477
526
<pre class="verbatim"> perl -e "print 'foo'; print STDERR 'bar'" 2> nul</pre><p>This prints "bar" and writes "foo" into the file "blurch":</p>
478
527
<pre class="verbatim"> perl -e "print 'foo'; print STDERR 'bar'" 1> blurch</pre><p>This pipes "foo" to the "less" pager and prints "bar" on the console:</p>
479
<pre class="verbatim"> perl -e <span class="q">"print 'foo'; print STDERR 'bar'"</span> | <a class="l_w" href="less.html">less</a></pre>
528
<pre class="verbatim"> <span class="w">perl</span> -e <span class="q">"print 'foo'; print STDERR 'bar'"</span> | <span class="w">less</span></pre>
480
529
<p>This pipes "foo\nbar\n" to the less pager:</p>
481
530
<pre class="verbatim"> perl -le "print 'foo'; print STDERR 'bar'" 2>&1 | less</pre><p>This pipes "foo" to the pager and writes "bar" in the file "blurch":</p>
482
531
<pre class="verbatim"> perl -e "print 'foo'; print STDERR 'bar'" 2> blurch | less</pre><p>Discovering the usefulness of the "command.com" shell on Windows 9x
596
645
<p>Windows .NET Server supports the LLP64 data model on the Intel Itanium
597
646
architecture.</p>
598
647
<p>The LLP64 data model is different from the LP64 data model that is the
599
norm on 64-bit Unix platforms. In the former, <code class="inline"><a class="l_k" href="functions/int.html">int</a></code> and <code class="inline">long</code>
648
norm on 64-bit Unix platforms. In the former, <code class="inline"><a class="l_k" href="functions/int.html">int</a></code> and <code class="inline"><span class="w">long</span></code>
601
650
both 32-bit data types, while pointers are 64 bits wide. In addition,
602
there is a separate 64-bit wide integral type, <code class="inline">__int64</code>
651
there is a separate 64-bit wide integral type, <code class="inline"><span class="w">__int64</span></code>
604
653
the LP64 data model that is pervasive on Unix platforms provides <code class="inline"><a class="l_k" href="functions/int.html">int</a></code>
605
as the 32-bit type, while both the <code class="inline">long</code>
654
as the 32-bit type, while both the <code class="inline"><span class="w">long</span></code>
606
655
type and pointers are of
607
656
64-bit precision. Note that both models provide for 64-bits of
608
657
addressability.</p>
690
739
<p>A full set of HTML documentation is installed, so you should be
691
740
able to use it if you have a web browser installed on your
693
<p><code class="inline">perldoc</code>
742
<p><code class="inline"><span class="w">perldoc</span></code>
694
743
is also a useful tool for browsing information contained
695
744
in the documentation, especially in conjunction with a pager
696
like <code class="inline"><a class="l_w" href="less.html">less</a></code> (recent versions of which have Win32 support). You may
745
like <code class="inline"><span class="w">less</span></code>
746
(recent versions of which have Win32 support). You may
697
747
have to set the PAGER environment variable to use a specific pager.
698
748
"perldoc -f foo" will print information about the perl operator
700
<p>One common mistake when using this port with a GUI library like <code class="inline">Tk</code>
750
<p>One common mistake when using this port with a GUI library like <code class="inline"><span class="w">Tk</span></code>
702
752
is assuming that Perl's normal behavior of opening a command-line
703
753
window will go away. This isn't the case. If you want to start a copy
704
of <code class="inline">perl</code>
705
without opening a command-line window, use the <code class="inline">wperl</code>
754
of <code class="inline"><span class="w">perl</span></code>
755
without opening a command-line window, use the <code class="inline"><span class="w">wperl</span></code>
707
757
executable built during the installation process. Usage is exactly
708
the same as normal <code class="inline">perl</code>
709
on Win32, except that options like <code class="inline">-h</code>
758
the same as normal <code class="inline"><span class="w">perl</span></code>
759
on Win32, except that options like <code class="inline">-<span class="w">h</span></code>
711
761
don't work (since they need a command-line window to print to).</p>
712
<p>If you find bugs in perl, you can run <code class="inline">perlbug</code>
762
<p>If you find bugs in perl, you can run <code class="inline"><span class="w">perlbug</span></code>
714
bug report (you may have to send it manually if <code class="inline">perlbug</code>
764
bug report (you may have to send it manually if <code class="inline"><span class="w">perlbug</span></code>
716
766
find a mailer on your system).</p>
717
767
<a name="BUGS-AND-CAVEATS"></a><h1>BUGS AND CAVEATS</h1>