CINXE.COM

perldos - Perl under DOS, W31, W95. - Perldoc Browser

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>perldos - Perl under DOS, W31, W95. - Perldoc Browser</title> <link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Perldoc Browser"> <link rel="canonical" href="https://perldoc.perl.org/perldos"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/stackoverflow-light.min.css" integrity="sha512-cG1IdFxqipi3gqLmksLtuk13C+hBa57a6zpWxMeoY3Q9O6ooFxq50DayCdm0QrDgZjMUn23z/0PMZlgft7Yp5Q==" crossorigin="anonymous" /> <style> body { background: #f4f4f5; color: #020202; } .navbar-dark { background-image: -webkit-linear-gradient(top, #005f85 0, #002e49 100%); background-image: -o-linear-gradient(top, #005f85 0, #002e49 100%); background-image: linear-gradient(to bottom, #005f85 0, #002e49 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff005f85', endColorstr='#ff002e49', GradientType=0); background-repeat: repeat-x; } .navbar-dark .navbar-nav .nav-link, .navbar-dark .navbar-nav .nav-link:focus { color: #fff } .navbar-dark .navbar-nav .nav-link:hover { color: #ffef68 } #wrapperlicious { margin: 0 auto; font: 0.9em 'Helvetica Neue', Helvetica, sans-serif; font-weight: normal; line-height: 1.5em; margin: 0; padding: 0; } #wrapperlicious h1 { font-size: 1.5em } #wrapperlicious h2 { font-size: 1.3em } #wrapperlicious h3 { font-size: 1.1em } #wrapperlicious h4 { font-size: 0.9em } #wrapperlicious h1, #wrapperlicious h2, #wrapperlicious h3, #wrapperlicious h4, #wrapperlicious dt { color: #020202; margin-top: 1em; margin-bottom: 1em; position: relative; font-weight: bold; } #wrapperlicious a { color: inherit; text-decoration: underline } #wrapperlicious #toc { text-decoration: none } #wrapperlicious a:hover { color: #2a2a2a } #wrapperlicious a img { border: 0 } #wrapperlicious :not(pre) > code { color: inherit; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; font: 0.9em Consolas, Menlo, Monaco, monospace; padding: 0.3em; } #wrapperlicious dd { margin: 0; margin-left: 2em; } #wrapperlicious dt { color: #2a2a2a; font-weight: bold; margin-left: 0.9em; } #wrapperlicious p { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious li > p { margin-bottom: 0; margin-top: 0; } #wrapperlicious pre { border: 1px solid #c1c1c1; border-radius: 3px; font: 100% Consolas, Menlo, Monaco, monospace; margin-bottom: 1em; margin-top: 1em; } #wrapperlicious pre > code { display: block; background-color: #f6f6f6; font: 0.9em Consolas, Menlo, Monaco, monospace; line-height: 1.5em; text-align: left; white-space: pre; padding: 1em; } #wrapperlicious dl, #wrapperlicious ol, #wrapperlicious ul { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious ul { list-style-type: square; } #wrapperlicious ul ul { margin-bottom: 0px; margin-top: 0px; } #footer { font-size: 0.8em; padding-top: 0.5em; text-align: center; } #more { display: inline; font-size: 0.8em; } #perldocdiv { background-color: #fff; border: 1px solid #c1c1c1; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; margin-left: auto; margin-right: auto; padding: 3em; padding-top: 1em; max-width: 960px; } #moduleversion { float: right } #wrapperlicious .leading-notice { font-style: italic; padding-left: 1em; margin-top: 1em; margin-bottom: 1em; } #wrapperlicious .permalink { display: none; left: -0.75em; position: absolute; padding-right: 0.25em; text-decoration: none; } #wrapperlicious h1:hover .permalink, #wrapperlicious h2:hover .permalink, #wrapperlicious h3:hover .permalink, #wrapperlicious h4:hover .permalink, #wrapperlicious dt:hover .permalink { display: block; } </style> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KVNWBNT5FB"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KVNWBNT5FB'); gtag('config', 'UA-50555-3'); </script> </head> <body> <nav class="navbar navbar-expand-md navbar-dark bg-dark justify-content-between"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <a class="navbar-brand" href="/"><img src="/images/perl_camel_30.png" width="30" height="30" class="d-inline-block align-top" alt="Perl Camel Logo"> Perldoc Browser</a> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-stable" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">5.6.0</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-stable"> <a class="dropdown-item" href="/perldos">Latest</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.1/perldos">5.40.1</a> <a class="dropdown-item" href="/5.40.0/perldos">5.40.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.3/perldos">5.38.3</a> <a class="dropdown-item" href="/5.38.2/perldos">5.38.2</a> <a class="dropdown-item" href="/5.38.1/perldos">5.38.1</a> <a class="dropdown-item" href="/5.38.0/perldos">5.38.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.36.3/perldos">5.36.3</a> <a class="dropdown-item" href="/5.36.2/perldos">5.36.2</a> <a class="dropdown-item" href="/5.36.1/perldos">5.36.1</a> <a class="dropdown-item" href="/5.36.0/perldos">5.36.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.34.3/perldos">5.34.3</a> <a class="dropdown-item" href="/5.34.2/perldos">5.34.2</a> <a class="dropdown-item" href="/5.34.1/perldos">5.34.1</a> <a class="dropdown-item" href="/5.34.0/perldos">5.34.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.32.1/perldos">5.32.1</a> <a class="dropdown-item" href="/5.32.0/perldos">5.32.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.30.3/perldos">5.30.3</a> <a class="dropdown-item" href="/5.30.2/perldos">5.30.2</a> <a class="dropdown-item" href="/5.30.1/perldos">5.30.1</a> <a class="dropdown-item" href="/5.30.0/perldos">5.30.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.28.3/perldos">5.28.3</a> <a class="dropdown-item" href="/5.28.2/perldos">5.28.2</a> <a class="dropdown-item" href="/5.28.1/perldos">5.28.1</a> <a class="dropdown-item" href="/5.28.0/perldos">5.28.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.26.3/perldos">5.26.3</a> <a class="dropdown-item" href="/5.26.2/perldos">5.26.2</a> <a class="dropdown-item" href="/5.26.1/perldos">5.26.1</a> <a class="dropdown-item" href="/5.26.0/perldos">5.26.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.24.4/perldos">5.24.4</a> <a class="dropdown-item" href="/5.24.3/perldos">5.24.3</a> <a class="dropdown-item" href="/5.24.2/perldos">5.24.2</a> <a class="dropdown-item" href="/5.24.1/perldos">5.24.1</a> <a class="dropdown-item" href="/5.24.0/perldos">5.24.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.22.4/perldos">5.22.4</a> <a class="dropdown-item" href="/5.22.3/perldos">5.22.3</a> <a class="dropdown-item" href="/5.22.2/perldos">5.22.2</a> <a class="dropdown-item" href="/5.22.1/perldos">5.22.1</a> <a class="dropdown-item" href="/5.22.0/perldos">5.22.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.20.3/perldos">5.20.3</a> <a class="dropdown-item" href="/5.20.2/perldos">5.20.2</a> <a class="dropdown-item" href="/5.20.1/perldos">5.20.1</a> <a class="dropdown-item" href="/5.20.0/perldos">5.20.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.18.4/perldos">5.18.4</a> <a class="dropdown-item" href="/5.18.3/perldos">5.18.3</a> <a class="dropdown-item" href="/5.18.2/perldos">5.18.2</a> <a class="dropdown-item" href="/5.18.1/perldos">5.18.1</a> <a class="dropdown-item" href="/5.18.0/perldos">5.18.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.16.3/perldos">5.16.3</a> <a class="dropdown-item" href="/5.16.2/perldos">5.16.2</a> <a class="dropdown-item" href="/5.16.1/perldos">5.16.1</a> <a class="dropdown-item" href="/5.16.0/perldos">5.16.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.14.4/perldos">5.14.4</a> <a class="dropdown-item" href="/5.14.3/perldos">5.14.3</a> <a class="dropdown-item" href="/5.14.2/perldos">5.14.2</a> <a class="dropdown-item" href="/5.14.1/perldos">5.14.1</a> <a class="dropdown-item" href="/5.14.0/perldos">5.14.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.12.5/perldos">5.12.5</a> <a class="dropdown-item" href="/5.12.4/perldos">5.12.4</a> <a class="dropdown-item" href="/5.12.3/perldos">5.12.3</a> <a class="dropdown-item" href="/5.12.2/perldos">5.12.2</a> <a class="dropdown-item" href="/5.12.1/perldos">5.12.1</a> <a class="dropdown-item" href="/5.12.0/perldos">5.12.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.10.1/perldos">5.10.1</a> <a class="dropdown-item" href="/5.10.0/perldos">5.10.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.8.9/perldos">5.8.9</a> <a class="dropdown-item" href="/5.8.8/perldos">5.8.8</a> <a class="dropdown-item" href="/5.8.7/perldos">5.8.7</a> <a class="dropdown-item" href="/5.8.6/perldos">5.8.6</a> <a class="dropdown-item" href="/5.8.5/perldos">5.8.5</a> <a class="dropdown-item" href="/5.8.4/perldos">5.8.4</a> <a class="dropdown-item" href="/5.8.3/perldos">5.8.3</a> <a class="dropdown-item" href="/5.8.2/perldos">5.8.2</a> <a class="dropdown-item" href="/5.8.1/perldos">5.8.1</a> <a class="dropdown-item" href="/5.8.0/perldos">5.8.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.2/perldos">5.6.2</a> <a class="dropdown-item" href="/5.6.1/perldos">5.6.1</a> <a class="dropdown-item active" href="/5.6.0/perldos">5.6.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.005_04/perldos">5.005_04</a> <a class="dropdown-item" href="/5.005_03/perldos">5.005_03</a> <a class="dropdown-item" href="/5.005_02/perldos">5.005_02</a> <a class="dropdown-item" href="/5.005_01/perldos">5.005_01</a> <a class="dropdown-item" href="/5.005/perldos">5.005</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-dev" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dev</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-dev"> <a class="dropdown-item" href="/blead/perldos">blead</a> <a class="dropdown-item" href="/5.41.10/perldos">5.41.10</a> <a class="dropdown-item" href="/5.41.9/perldos">5.41.9</a> <a class="dropdown-item" href="/5.41.8/perldos">5.41.8</a> <a class="dropdown-item" href="/5.41.7/perldos">5.41.7</a> <a class="dropdown-item" href="/5.41.6/perldos">5.41.6</a> <a class="dropdown-item" href="/5.41.5/perldos">5.41.5</a> <a class="dropdown-item" href="/5.41.4/perldos">5.41.4</a> <a class="dropdown-item" href="/5.41.3/perldos">5.41.3</a> <a class="dropdown-item" href="/5.41.2/perldos">5.41.2</a> <a class="dropdown-item" href="/5.41.1/perldos">5.41.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.1-RC1/perldos">5.40.1-RC1</a> <a class="dropdown-item" href="/5.40.0-RC2/perldos">5.40.0-RC2</a> <a class="dropdown-item" href="/5.40.0-RC1/perldos">5.40.0-RC1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.39.10/perldos">5.39.10</a> <a class="dropdown-item" href="/5.39.9/perldos">5.39.9</a> <a class="dropdown-item" href="/5.39.8/perldos">5.39.8</a> <a class="dropdown-item" href="/5.39.7/perldos">5.39.7</a> <a class="dropdown-item" href="/5.39.6/perldos">5.39.6</a> <a class="dropdown-item" href="/5.39.5/perldos">5.39.5</a> <a class="dropdown-item" href="/5.39.4/perldos">5.39.4</a> <a class="dropdown-item" href="/5.39.3/perldos">5.39.3</a> <a class="dropdown-item" href="/5.39.2/perldos">5.39.2</a> <a class="dropdown-item" href="/5.39.1/perldos">5.39.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.3-RC1/perldos">5.38.3-RC1</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-nav" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-nav"> <a class="dropdown-item" href="/5.6.0/perl">Perl</a> <a class="dropdown-item" href="/5.6.0/perlintro">Intro</a> <a class="dropdown-item" href="/5.6.0/perl#Tutorials">Tutorials</a> <a class="dropdown-item" href="/5.6.0/perlfaq">FAQs</a> <a class="dropdown-item" href="/5.6.0/perl#Reference-Manual">Reference</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.0/perlop">Operators</a> <a class="dropdown-item" href="/5.6.0/functions">Functions</a> <a class="dropdown-item" href="/5.6.0/variables">Variables</a> <a class="dropdown-item" href="/5.6.0/modules">Modules</a> <a class="dropdown-item" href="/5.6.0/perlutil">Utilities</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.0/perldelta">Release Notes</a> <a class="dropdown-item" href="/5.6.0/perlcommunity">Community</a> <a class="dropdown-item" href="/5.6.0/perlhist">History</a> </div> </li> </ul> <ul class="navbar-nav"> <script> function set_expand (expand) { var perldocdiv = document.getElementById('perldocdiv'); var width = window.getComputedStyle(perldocdiv).getPropertyValue('max-width'); var expanded = (width == '' || width == 'none') ? true : false; if (expand === null) { expand = !expanded; } if ((expand && !expanded) || (!expand && expanded)) { perldocdiv.style.setProperty('max-width', expand ? 'none' : '960px'); var button_classlist = document.getElementById('content-expand-button').classList; if (expand) { button_classlist.add('btn-light'); button_classlist.remove('btn-outline-light'); } else { button_classlist.add('btn-outline-light'); button_classlist.remove('btn-light'); } } return expand; } function toggle_expand () { var expand = set_expand(null); document.cookie = 'perldoc_expand=' + (expand ? 1 : 0) + '; path=/; expires=Tue, 19 Jan 2038 03:14:07 UTC'; } function read_expand () { return document.cookie.split(';').some(function (item) { return item.indexOf('perldoc_expand=1') >= 0 }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { if (read_expand()) { set_expand(true); } }); } else if (read_expand()) { set_expand(true); } </script> <button id="content-expand-button" type="button" class="btn btn-outline-light d-none d-lg-inline-block mr-4" onclick="toggle_expand()">Expand</button> </ul> <form class="form-inline" method="get" action="/5.6.0/search"> <input class="form-control mr-3" type="search" name="q" placeholder="Search" aria-label="Search" value=""> </form> </div> </nav> <div id="wrapperlicious" class="container-fluid"> <div id="perldocdiv"> <div id="links"> <a href="/5.6.0/perldos">perldos</a> <div id="more"> (<a href="/5.6.0/perldos.txt">source</a>, <a href="https://metacpan.org/pod/perldos">CPAN</a>) </div> </div> <div class="leading-notice"> You are viewing the version of this documentation from Perl 5.6.0. <a href="/perldos">View the latest version</a> </div> <h1><a id="toc">CONTENTS</a></h1> <ul> <li> <a class="text-decoration-none" href="#NAME">NAME</a> </li> <li> <a class="text-decoration-none" href="#SYNOPSIS">SYNOPSIS</a> </li> <li> <a class="text-decoration-none" href="#DESCRIPTION">DESCRIPTION</a> <ul> <li> <a class="text-decoration-none" href="#Prerequisites">Prerequisites</a> </li> <li> <a class="text-decoration-none" href="#Shortcomings-of-Perl-under-DOS">Shortcomings of Perl under DOS</a> </li> <li> <a class="text-decoration-none" href="#Building">Building</a> </li> <li> <a class="text-decoration-none" href="#Testing">Testing</a> </li> <li> <a class="text-decoration-none" href="#Installation">Installation</a> </li> </ul> </li> <li> <a class="text-decoration-none" href="#AUTHOR">AUTHOR</a> </li> <li> <a class="text-decoration-none" href="#SEE-ALSO">SEE ALSO</a> </li> </ul> <h1 id="NAME"><a class="permalink" href="#NAME">#</a>NAME</h1> <p>perldos - Perl under DOS, W31, W95.</p> <h1 id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">#</a>SYNOPSIS</h1> <p>These are instructions for building Perl under DOS (or w??), using DJGPP v2.01 or later. Under w95 long filenames are supported.</p> <h1 id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">#</a>DESCRIPTION</h1> <p>Before you start, you should glance through the README file found in the top-level directory where the Perl distribution was extracted. Make sure you read and understand the terms under which this software is being distributed.</p> <p>This port currently supports MakeMaker (the set of modules that is used to build extensions to perl). Therefore, you should be able to build and install most extensions found in the CPAN sites.</p> <h2 id="Prerequisites"><a class="permalink" href="#Prerequisites">#</a>Prerequisites</h2> <dl> <dt id="DJGPP"><a class="permalink" href="#DJGPP">#</a>DJGPP</dt> <dd> <p>DJGPP is a port of GNU C/C++ compiler and development tools to 32-bit, protected-mode environment on Intel 32-bit CPUs running MS-DOS and compatible operating systems, by DJ Delorie &lt;dj@delorie.com&gt; and friends.</p> <p>For more details (FAQ), check out the home of DJGPP at:</p> <pre><code class="plaintext">http://www.delorie.com/djgpp/</code></pre> <p>If you have questions about DJGPP, try posting to the DJGPP newsgroup: comp.os.msdos.djgpp, or use the email gateway djgpp@delorie.com.</p> <p>You can find the full DJGPP distribution on any SimTel.Net mirror all over the world. Like:</p> <pre><code class="plaintext">ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2*</code></pre> <p>You need the following files to build perl (or add new modules):</p> <pre><code class="plaintext">v2/djdev202.zip v2/bnu27b.zip v2gnu/gcc2721b.zip v2gnu/bsh1147b.zip v2gnu/mak3761b.zip v2gnu/fil316b.zip v2gnu/sed118b.zip v2gnu/txt122b.zip v2gnu/dif271b.zip v2gnu/grep21b.zip v2gnu/shl112b.zip v2gnu/gawk303b.zip v2misc/csdpmi4b.zip </code></pre> <p>or possibly any newer version.</p> </dd> <dt id="Pthreads"><a class="permalink" href="#Pthreads">#</a>Pthreads</dt> <dd> <p>Thread support is not tested in this version of the djgpp perl.</p> </dd> </dl> <h2 id="Shortcomings-of-Perl-under-DOS"><a class="permalink" href="#Shortcomings-of-Perl-under-DOS">#</a><a id="Shortcomings"></a>Shortcomings of Perl under DOS</h2> <p>Perl under DOS lacks some features of perl under UNIX because of deficiencies in the UNIX-emulation, most notably:</p> <ul> <li><p>fork() and pipe()</p> </li> <li><p>some features of the UNIX filesystem regarding link count and file dates</p> </li> <li><p>in-place operation is a little bit broken with short filenames</p> </li> <li><p>sockets</p> </li> </ul> <h2 id="Building"><a class="permalink" href="#Building">#</a>Building</h2> <ul> <li><p>Unpack the source package <i>perl5.6*.tar.gz</i> with djtarx. If you want to use long file names under w95, don&#39;t forget to use</p> <pre><code class="plaintext">set LFN=y</code></pre> <p>before unpacking the archive.</p> </li> <li><p>Create a &quot;symlink&quot; or copy your bash.exe to sh.exe in your <code>($DJDIR)/bin</code> directory.</p> <pre><code class="plaintext">ln -s bash.exe sh.exe</code></pre> <p>And make the <code>SHELL</code> environment variable point to this <i>sh.exe</i>:</p> <pre><code class="plaintext">set SHELL=c:/djgpp/bin/sh.exe (use full path name!)</code></pre> <p>You can do this in <i>djgpp.env</i> too. Add this line BEFORE any section definition:</p> <pre><code>+SHELL=%DJDIR%/bin/sh.exe</code></pre> </li> <li><p>If you have <i>split.exe</i> and <i>gsplit.exe</i> in your path, then rename <i>split.exe</i> to <i>djsplit.exe</i>, and <i>gsplit.exe</i> to <i>split.exe</i>. Copy or link <i>gecho.exe</i> to <i>echo.exe</i> if you don&#39;t have <i>echo.exe</i>. Copy or link <i>gawk.exe</i> to <i>awk.exe</i> if you don&#39;t have <i>awk.exe</i>.</p> </li> <li><p>Chdir to the djgpp subdirectory of perl toplevel and type the following command:</p> <pre><code class="plaintext">configure.bat</code></pre> <p>This will do some preprocessing then run the Configure script for you. The Configure script is interactive, but in most cases you just need to press ENTER.</p> <p>If the script says that your package is incomplete, and asks whether to continue, just answer with Y (this can only happen if you don&#39;t use long filenames).</p> <p>When Configure asks about the extensions, I suggest IO and Fcntl, and if you want database handling then SDBM_File or GDBM_File (you need to install gdbm for this one). If you want to use the POSIX extension (this is the default), make sure that the stack size of your <i>cc1.exe</i> is at least 512kbyte (you can check this with: <code>stubedit cc1.exe</code>).</p> <p>You can use the Configure script in non-interactive mode too. When I built my <i>perl.exe</i>, I used something like this:</p> <pre><code class="plaintext">configure.bat -des</code></pre> <p>You can find more info about Configure&#39;s command line switches in the <i>INSTALL</i> file.</p> <p>When the script ends, and you want to change some values in the generated <i>config.sh</i> file, then run</p> <pre><code class="plaintext">sh Configure -S</code></pre> <p>after you made your modifications.</p> <p>IMPORTANT: if you use this <code>-S</code> switch, be sure to delete the CONFIG environment variable before running the script:</p> <pre><code class="plaintext">set CONFIG=</code></pre> </li> <li><p>Now you can compile Perl. Type:</p> <pre><code class="plaintext">make</code></pre> </li> </ul> <h2 id="Testing"><a class="permalink" href="#Testing">#</a>Testing</h2> <p>Type:</p> <pre><code class="plaintext">make test</code></pre> <p>If you&#39;re lucky you should see &quot;All tests successful&quot;. But there can be a few failed subtests (less than 5 hopefully) depending on some external conditions (e.g. some subtests fail under linux/dosemu or plain dos with short filenames only).</p> <h2 id="Installation"><a class="permalink" href="#Installation">#</a>Installation</h2> <p>Type:</p> <pre><code class="plaintext">make install</code></pre> <p>This will copy the newly compiled perl and libraries into your DJGPP directory structure. Perl.exe and the utilities go into <code>($DJDIR)/bin</code>, and the library goes under <code>($DJDIR)/lib/perl5</code>. The pod documentation goes under <code>($DJDIR)/lib/perl5/pod</code>.</p> <h1 id="AUTHOR"><a class="permalink" href="#AUTHOR">#</a>AUTHOR</h1> <p>Laszlo Molnar, <i>laszlo.molnar@eth.ericsson.se</i></p> <h1 id="SEE-ALSO"><a class="permalink" href="#SEE-ALSO">#</a><a id="SEE"></a>SEE ALSO</h1> <p>perl(1).</p> </div> <div id="footer"> <p>Perldoc Browser is maintained by Dan Book (<a href="https://metacpan.org/author/DBOOK">DBOOK</a>). Please contact him via the <a href="https://github.com/Grinnz/perldoc-browser/issues">GitHub issue tracker</a> or <a href="mailto:dbook@cpan.org">email</a> regarding any issues with the site itself, search, or rendering of documentation.</p> <p>The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the <a href="https://github.com/Perl/perl5/issues">Perl issue tracker</a>, the <a href="https://lists.perl.org/list/perl5-porters.html">mailing list</a>, or <a href="https://kiwiirc.com/client/irc.perl.org/p5p">IRC</a> to report any issues with the contents or format of the documentation.</p> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js" integrity="sha512-/DXTXr6nQodMUiq+IUJYCt2PPOUjrHJ9wFrqpJ3XkgPNOZVfMok7cRw6CSxyCQxXn6ozlESsSh1/sMCTF1rL/g==" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js" integrity="sha512-ubuT8Z88WxezgSqf3RLuNi5lmjstiJcyezx34yIU2gAHonIi27Na7atqzUZCOoY4CExaoFumzOsFQ2Ch+I/HCw==" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> <script src="/js/highlight.pack.js"></script> <script>hljs.highlightAll();</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10