PageRenderTime 26ms CodeModel.GetById 14ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/src/src/README.html

http://github.com/perlorg/cpanorg
HTML | 280 lines | 248 code | 32 blank | 0 comment | 0 complexity | a2e4c23d91ab4d180727c391b8264af5 MD5 | raw file
  1[%
  2  page.import({
  3    title   => "Perl Source",
  4    section => 'source',
  5    stub => '../',
  6    canonical => 'src/index.html',
  7  });
  8%]
  9
 10<h1>Perl Source</h1>
 11
 12<p>
 13    Perl <a href="http://en.wikipedia.org/wiki/Compiler">compiles</a> on over <a href=
 14    "http://perldoc.perl.org/perlport.html#PLATFORMS">100 platforms</a>, if you
 15    want to install from a binary instead see the <a href=
 16    "../ports/index.html">ports</a> page (especially for Windows).
 17</p>
 18
 19[% TRY %]
 20<h2>
 21    How to install from source
 22</h2>
 23[% latest_data = INSERT perl_version_latest_stable.json %]
 24[% latest = JSON.json_decode(latest_data) %]
 25<pre>
 26     wget <a href="[% latest.url %]">[% latest.url %]</a>
 27     tar -xzf [% latest.zip_file %]
 28     cd [% latest.distvname %]
 29     ./Configure -des -Dprefix=$HOME/localperl
 30     make
 31     make test
 32     make install
 33</pre>
 34<p>
 35    Read both INSTALL and README.<strong>yoursystem</strong> in
 36    the <code>[% latest.distvname %]</code> directory for more detailed information.
 37</p>
 38
 39[% CATCH %]
 40[% END %]
 41
 42
 43[% TRY %]
 44<h2>Latest releases in each branch of Perl</h2>
 45[% json_data = INSERT perl_versions_latest.json %]
 46[% versions = JSON.json_decode(json_data) %]
 47<table class="os_version">
 48    <tr class="table_header">
 49        <th>Major</th>
 50        <th>Version</th>
 51        <th>Type</th>
 52        <th>Released</th>
 53        <th>Download</th>
 54    </tr>
 55[% FOREACH release = versions %]
 56    <tr [% 'class="latest"' IF release.latest %]>
 57        <td>[% release.version_major %].[% release.version_minor %]</td>
 58        <td>[% release.version_major %].[% release.version_minor %].[% release.version_iota %]
 59        <td>[% IF release.type != 'Maint';
 60                release.type;
 61                ELSIF just_seen_latest;
 62                    'Maint';
 63                    just_seen_latest = 0;
 64               ELSE;
 65                    release.latest ? 'Maint' : 'End of life';
 66                END;
 67             %]</td>
 68        <td>[% release.released_date %]</td>
 69        <td><a href="[% release.url %]">[% release.zip_file %]</a></td>
 70    </tr>
 71    [% just_seen_latest = 1 IF release.latest %]
 72[% END %]
 73</table>
 74[% CATCH %]
 75[% END %]
 76
 77
 78
 79<p>
 80    <a href="http://perldoc.perl.org/perlhist.html">Perl History</a>
 81</p>
 82<p>
 83    If you want to help out developing new releases of Perl visit the <a href=
 84    "http://dev.perl.org/perl5/">development site</a> and join the
 85    <a href="http://lists.perl.org/list/perl5-porters.html">perl5-porters</a> mailing list.
 86</p>
 87
 88<h2>
 89    Version scheme
 90</h2>
 91<p>
 92    Perl has used the following <a href=
 93    "http://perldoc.perl.org/perlpolicy.html">policy</a> since the 5.6 release
 94    of Perl:
 95</p>
 96<ul>
 97    <li>Maintenance branches (ready for production use) are even numbers (5.8,
 98    5.10, 5.12 etc)
 99    </li>
100    <li>Sub-branches of maintenance releases (5.12.1, 5.12.2 etc) are mostly
101    just for bug fixes
102    </li>
103    <li>Development branches are odd numbers (5.9, 5.11, 5.13 etc)
104    </li>
105    <li>RC (release candidates) leading up to a maintenance branch are called
106    testing releases
107    </li>
108</ul>
109<p>
110    Please note that branches earlier than 5.20 are no longer supported, though
111    fixes for urgent issues, for example severe security problems, may
112    still be issued.
113</p>
114<p>
115    Note: please avoid referring to the "symbolic" source releases like
116    "stable" and "latest", or "maint" and "devel". They are still used here but
117    only for backward compatibility. The symbolic names were found to cause
118    more confusion than they are worth because they don't really work with
119    multiple branches, especially not with multiple maintenance branches, and
120    especially the "latest" makes absolutely no sense. The "latest" and
121    "stable" are now just aliases for "maint", and "maint" in turn is the
122    maintenance branch with the largest release number.
123</p>
124
125[% TRY %]
126<h2>First release in each branch of Perl</h2>
127[% json_data = INSERT perl_versions_earliest.json %]
128[% versions = JSON.json_decode(json_data) %]
129<table class="os_version">
130    <tr class="table_header">
131        <th>Major</th>
132        <th>Version</th>
133        <th>Released</th>
134    </tr>
135[% FOREACH release = versions %]
136
137    <tr>
138        <td>[% release.version_major %].[% release.version_minor %]</td>
139        <td>[% release.version_major %].[% release.version_minor %].[% release.version_iota %]
140        <td>[% release.released_date %]</td>
141    </tr>
142[% END %]
143</table>
144[% CATCH %]
145[% END %]
146
147<p></p>
148
149<h2>
150    Other files and directories (mostly for posterity)
151</h2>
152<ul>
153    <li>
154        <a href="5.0/">5.0/</a>
155        <p>
156            Source archives for all releases of perl5. You should only need to
157            look here if you have an application which, for some reason or
158            another, does not run with the current release of perl5. Be aware
159            that only 5.004 and later versions of perl are maintained. If you
160            report a genuine bug in such a version, you will probably be
161            informed either that it is fixed in the current maintenance
162            release, or will be fixed in a subsequent one. If you report a bug
163            in an unmaintained version, you are likely to be advised to upgrade
164            to a maintained version which fixes the bug, or to await a fix in a
165            maintained version. No fix will be provided for the unmaintained
166            version.
167        </p>
168    </li>
169    <li>
170        <p>
171            Perl 6 or Parrot are not yet in CPAN. In the meanwhile, try
172            <a href="http://dev.perl.org/perl6/">here</a> or <a href=
173            "http://www.parrotcode.org/">here</a>.
174        </p>
175    </li>
176    <li>
177        <a href="5.0/jperl">5.0/jperl</a>
178        <p>
179            Path to patch files needed to adapt particular perl releases for
180            use with Japanese character sets.
181        </p>
182    </li>
183    <li>
184        <a href="ENDINGS">ENDINGS</a>
185        <p>
186            Discussion of the meanings of the endings of filenames (.gz, .ZIP
187            and so on). Read this file if you want to know how to handle a
188            source code archive after you've downloaded it.
189        </p>
190    </li>
191    <li>
192        <a href="README">README</a>
193        <p>
194            This file.
195        </p>
196    </li>
197    <li>
198        <a href="misc/">misc/</a>
199        <p>
200            Third-party and other add-on source packages needed in order to
201            build certain perl configurations. You do not need any of this
202            stuff to build a default configuration.
203        </p>
204    </li>
205    <li>perl-5.*.tar.gz, perl-5.*.tar.bz2, perl5_*.tar.gz
206        <p>
207            Source code archives for several recent production releases of
208            perl.
209        </p>
210    </li>
211    <li>
212        <a href="unsupported/">unsupported/</a>
213        <p>
214            This is where we hid the source for perl4, which was superseded by
215            perl5 years ago. We would really much rather that you didn't use
216            it. It is definitely obsolete and has security and other bugs. And,
217            since it's unsupported, it will continue to have them.
218        </p>
219    </li>
220    <li>
221        <a href="5.0/sperl-2000-08-05/">5.0/sperl-2000-08-05</a>
222        <p>
223            Files relevant to the security problem found in 'suidperl' in
224            August 2000, reported in the bugtraq mailing list. The problem was
225            found in all Perl release branches: 5.6, 5.005, and 5.004. The
226            5.6.1 release has a fix for this, as have the 5.8 releases. The
227            (now obsolete) development branch 5.7 was unaffected, except for
228            very early (pre-5.7.0) developer-only snapshots. The bug affects
229            you only if you use an executable called 'suidperl', not if you use
230            'perl', and it is very likely only to affect UNIX platforms, and
231            even more precisely, as of March 2001, the only platforms known to
232            be affected are Linux platforms (all of them, <a href=
233            "5.0/sperl-2000-08-05/sperl-2000-08-05.txt">as far as we know</a>).
234            The 'suidperl' is an optional component which is not installed, or
235            even built, by default. These files will help you in the case you
236            compile Perl yourself from the source and you want to close the
237            security hole.
238        </p>
239    </li>
240    <li>
241        <a href="5.0/CA-97.17.sperl">5.0/CA-97.17.sperl</a>
242    </li>
243    <li>
244        <a href="5.0/fixsperl-0">5.0/fixsperl-0</a>
245    </li>
246    <li>
247        <a href="5.0/fixsuid5-0.pat">5.0/fixsuid5-0.pat</a>
248        <p>
249            Files relevant to the CERT Advisory CA-97.17.sperl, a security
250            problem found in 'suidperl' back in 1997. The problem was found
251            both in Perl 4.036 (the final) (and last) release of Perl 4 and in
252            early versions of Perl 5 (pre-5.003). The bug affects you only if
253            you use an executable called 'suidperl', not if you use 'perl', and
254            it is very likely only to affect UNIX platform. The 'suidperl' is
255            an optional component which is not installed, or even built, by
256            default. These files will help you in the (very unlikely) case you
257            need to use (the obsolete and unsupported) Perl 4 or the early Perl
258            5s, <b>Perl releases newer than Perl 5.003 do not have this
259            security problem.</b>
260        </p>
261    </li>
262</ul>
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280