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