home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2004 July / APC0407D2.iso / workshop / apache / files / ActivePerl-5.8.3.809-MSWin32-x86.msi / _98b8bffbd1cc37b7f10e6be16df9d0cd < prev    next >
Encoding:
Text File  |  2004-02-02  |  30.0 KB  |  585 lines

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>ActivePerl 5.8.3.809 -- Release Notes</title>
  5. <link rel="stylesheet" href="Active.css" type="text/css" />
  6. <link rev="made" href="mailto:" />
  7. </head>
  8.  
  9. <body>
  10.  
  11. <p><a name="__index__"></a></p>
  12. <!-- INDEX BEGIN -->
  13.  
  14. <ul>
  15.  
  16.     <li><a href="#activeperl_5_8_3_809__release_notes">ActivePerl 5.8.3.809 - Release Notes</a></li>
  17.     <li><a href="#incompatibilities">Incompatibilities</a></li>
  18.     <ul>
  19.  
  20.         <li><a href="#binary_incompatibility">Binary incompatibility</a></li>
  21.         <li><a href="#new_unicode_semantics__no_more_use_utf8__almost_">New Unicode semantics (no more <code>use utf8</code>, almost)</a></li>
  22.         <li><a href="#incompatible__but_reliable__signals_implementation">Incompatible, but reliable, signals implementation</a></li>
  23.         <li><a href="#perl_debugger_commands_are_different">Perl debugger commands are different</a></li>
  24.         <li><a href="#attributes_for_my_variables_now_handled_at_runtime">Attributes for <code>my</code> variables now handled at run-time</a></li>
  25.         <li><a href="#references_to_references_stringify_as_ref_______not_scalar_____">References to references stringify as REF(...), not <code>SCALAR(...)</code></a></li>
  26.         <li><a href="#glob___now_returns_filenames_in_alphabetical_order"><code>glob()</code> now returns filenames in alphabetical order</a></li>
  27.         <li><a href="#time__local__timelocal___and_fractional_seconds">Time::Local::timelocal() and fractional seconds</a></li>
  28.         <li><a href="#bless_ref__ref__no_longer_supported">bless(REF, REF) no longer supported</a></li>
  29.         <li><a href="#selfties_are_unsupported">Self-ties are unsupported</a></li>
  30.         <li><a href="#tied_hash_methods_exists_and_delete_are_mandatory">Tied hash methods EXISTS and DELETE are mandatory</a></li>
  31.         <li><a href="#perl_hashes_remain_unordered__only_differently_so">Perl hashes remain unordered, only differently so</a></li>
  32.         <li><a href="#use_may_fail_if_module_does_not_define_a__version"><code>use</code> may fail if module does not define a <code>$VERSION</code></a></li>
  33.         <li><a href="#chat2_pl_has_been_removed">chat2.pl has been removed</a></li>
  34.         <li><a href="#chdir_____and_chdir_undef__are_deprecated"><code>chdir('')</code> and <code>chdir(undef)</code> are deprecated</a></li>
  35.         <li><a href="#dump___should_now_be_spelled_core__dump__"><code>dump()</code> should now be spelled CORE::dump()</a></li>
  36.         <li><a href="#unimplemented_posix_regex_features_are_now_fatal">Unimplemented POSIX regex features are now fatal</a></li>
  37.         <li><a href="#_raw_and__crlf_disciplines_no_longer_have_inverse_behaviors"><code>:raw</code> and <code>:crlf</code> disciplines no longer have inverse behaviors</a></li>
  38.         <li><a href="#pack_unpack_d_f_recycled">pack/unpack D/F recycled</a></li>
  39.         <li><a href="#eq__ne__lt__le__ge__gt_operators_no_longer_part_of_the_language">EQ, NE, LT, LE, GE, GT operators no longer part of the language</a></li>
  40.         <li><a href="#tr___cu_has_been_removed">tr///CU has been removed</a></li>
  41.         <li><a href="#new_warnings_and_deprecations">New warnings and deprecations</a></li>
  42.     </ul>
  43.  
  44.     <li><a href="#known_issues">Known Issues</a></li>
  45.     <ul>
  46.  
  47.         <li><a href="#all_platforms">All Platforms</a></li>
  48.         <li><a href="#linux_and_solaris">Linux and Solaris</a></li>
  49.         <li><a href="#windows">Windows</a></li>
  50.         <li><a href="#further_information">Further Information</a></li>
  51.     </ul>
  52.  
  53.     <li><a href="#reporting_problems">Reporting Problems</a></li>
  54. </ul>
  55. <!-- INDEX END -->
  56.  
  57. <hr />
  58. <p>
  59. </p>
  60. <h1><a name="activeperl_5_8_3_809__release_notes">ActivePerl 5.8.3.809 -- Release Notes</a></h1>
  61. <p>Welcome, and thanks for downloading ActivePerl.  This release corresponds
  62. to Perl version 5.8.3.</p>
  63. <p>Please note that ActivePerl 800 series builds are NOT binary-compatible with
  64. the older 600 and 500 series builds.  In particular, do not attempt to use
  65. extensions or PPM packages built for the 600 and 500 series builds with
  66. ActivePerl 800 series builds and vice versa.</p>
  67. <p>The following platforms are supported:</p>
  68. <ul>
  69. <li></li>
  70. Linux x86 for Red Hat 6.2 or later
  71. <p></p>
  72. <li></li>
  73. Linux x86 for Debian 2.2 or later
  74. <p></p>
  75. <li></li>
  76. Solaris sparc for Solaris 2.6 or later
  77. <p></p>
  78. <li></li>
  79. Windows x86 for Windows 9x, NT, Me, 2000, XP and 2003
  80. <p></p></ul>
  81. <p>For a chronological list of changes included in this and past releases,
  82. see the ActivePerl Change Log.</p>
  83. <p>
  84. </p>
  85. <hr />
  86. <h1><a name="incompatibilities">Incompatibilities</a></h1>
  87. <p>The following list is a general summary of the known incompatibilities
  88. between the Perl 5.8.0 source code release and earlier releases based on
  89. Perl 5.6.0.  Be sure to consider these very carefully before upgrading.</p>
  90. <p>Please check <em>perl581delta</em>, <em>perl582delta</em> and <em>perl583delta</em> for
  91. additional incompatible changes made in Perl 5.8.1, Perl 5.8.2 and
  92. Perl 5.8.3 respectively.  There are a few new incompatibilities, but
  93. also mechanisms to better control some of the incompatibilities
  94. introduced by Perl 5.8.0.  For example, filehandles are no longer
  95. automatically set to UTF-8 by locale settings.</p>
  96. <p>
  97. </p>
  98. <h2><a name="binary_incompatibility">Binary incompatibility</a></h2>
  99. <p><strong>Perl 5.8 is not binary compatible with earlier releases of Perl.</strong></p>
  100. <p><strong>You have to recompile your XS modules.</strong></p>
  101. <p>Pure Perl modules should continue to work, subject to the other
  102. incompatibilities listed here.</p>
  103. <p>
  104. </p>
  105. <h2><a name="new_unicode_semantics__no_more_use_utf8__almost_">New Unicode semantics (no more <code>use utf8</code>, almost)</a></h2>
  106. <p>In general, the interfaces and implementation of Unicode support has
  107. changed significantly from the 5.6 release.</p>
  108. <p>Previously in Perl 5.6 to use Unicode one would say ``use utf8'' and
  109. then the operations (like string concatenation) were Unicode-aware
  110. in that lexical scope.</p>
  111. <p>This was found to be an inconvenient interface, and in Perl 5.8 the
  112. Unicode model has completely changed: now the ``Unicodeness'' is bound
  113. to the data itself, and for most of the time ``use utf8'' is not needed
  114. at all.  The only remaining use of ``use utf8'' is when the Perl script
  115. itself has been written in the UTF-8 encoding of Unicode.  (UTF-8 has
  116. not been made the default since there are many Perl scripts out there
  117. that are using various national eight-bit character sets, which would
  118. be illegal in UTF-8.)</p>
  119. <p>See <em>perluniintro</em> for the explanation of the current model,
  120. and <em>utf8</em> for the current use of the utf8 pragma.</p>
  121. <p>
  122. </p>
  123. <h2><a name="incompatible__but_reliable__signals_implementation">Incompatible, but reliable, signals implementation</a></h2>
  124. <p>The new safe signals implementation postpones handling of
  125. signals until it's safe (in between the execution of low level opcodes).</p>
  126. <p>This change may have surprising side effects because signals no longer
  127. interrupt Perl instantly.  Perl will now first finish whatever it was
  128. doing, like finishing an internal operation (such as <code>sort())</code> or an
  129. external operation (like an I/O operation), and only then look at any
  130. arrived signals (but before starting the next operation).
  131. This means that the signal handler may be called at a different point
  132. than before, conceivably when it is no longer useful.  Note that breaking
  133. out from potentially blocking operations should still work, though.</p>
  134. <p>
  135. </p>
  136. <h2><a name="perl_debugger_commands_are_different">Perl debugger commands are different</a></h2>
  137. <p>The command line Perl debugger (<code>perl5db.pl</code>) has been modified to present
  138. a more consistent command interface.  To use the old style commands,
  139. enter <code>o CommandSet=pre580</code> at the debugger prompt.</p>
  140. <p>
  141. </p>
  142. <h2><a name="attributes_for_my_variables_now_handled_at_runtime">Attributes for <code>my</code> variables now handled at run-time</a></h2>
  143. <p>The <code>my EXPR : ATTRS</code> syntax now applies variable attributes at
  144. run-time.  (Subroutine and <code>our</code> variables still get attributes applied
  145. at compile-time.)  See <em>attributes</em> for additional details.  In particular,
  146. however, this allows variable attributes to be useful for <code>tie</code> interfaces,
  147. which was a deficiency of earlier releases.  Note that the new semantics
  148. doesn't work with the Attribute::Handlers module (as of version 0.76).</p>
  149. <p>
  150. </p>
  151. <h2><a name="references_to_references_stringify_as_ref_______not_scalar_____">References to references stringify as REF(...), not <code>SCALAR(...)</code></a></h2>
  152. <p>A reference to a reference now stringifies as ``REF(0x81485ec)'' instead
  153. of ``SCALAR(0x81485ec)'' in order to be more consistent with the return
  154. value of ref().</p>
  155. <p>
  156. </p>
  157. <h2><a name="glob___now_returns_filenames_in_alphabetical_order"><code>glob()</code> now returns filenames in alphabetical order</a></h2>
  158. <p>The list of filenames from <code>glob()</code> (or <...>) is now by default sorted
  159. alphabetically to be csh-compliant (which is what happened before
  160. in most UNIX platforms).  (bsd_glob() continues to sort platform
  161. natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.)</p>
  162. <p>This change was already included in Perl 5.6.1.</p>
  163. <p>
  164. </p>
  165. <h2><a name="time__local__timelocal___and_fractional_seconds">Time::Local::timelocal() and fractional seconds</a></h2>
  166. <p>Time::Local::timelocal() does not handle fractional seconds anymore.
  167. The rationale is that neither does localtime(), and <code>timelocal()</code> and
  168. <code>localtime()</code> are supposed to be inverses of each other.</p>
  169. <p>
  170. </p>
  171. <h2><a name="bless_ref__ref__no_longer_supported">bless(REF, REF) no longer supported</a></h2>
  172. <p>The semantics of bless(REF, REF) were unclear and until someone proves
  173. it to make some sense, it is forbidden.</p>
  174. <p>
  175. </p>
  176. <h2><a name="selfties_are_unsupported">Self-ties are unsupported</a></h2>
  177. <p>Self-ties of arrays and hashes are no longer supported.  Attempts to
  178. do this will cause fatal errors.</p>
  179. <p>
  180. </p>
  181. <h2><a name="tied_hash_methods_exists_and_delete_are_mandatory">Tied hash methods EXISTS and DELETE are mandatory</a></h2>
  182. <p>Tied hash interfaces are now required to have the EXISTS and DELETE
  183. methods (either own or inherited).</p>
  184. <p>
  185. </p>
  186. <h2><a name="perl_hashes_remain_unordered__only_differently_so">Perl hashes remain unordered, only differently so</a></h2>
  187. <p>Although ``you shouldn't do that'', it was possible to write code that
  188. depends on Perl's hashed key order (Data::Dumper does this).  The new
  189. algorithm ``One-at-a-Time'' produces a different hashed key order.
  190. More details are in <em>perl58delta</em>, ``Performance Enhancements''.</p>
  191. <p>
  192. </p>
  193. <h2><a name="use_may_fail_if_module_does_not_define_a__version"><code>use</code> may fail if module does not define a <code>$VERSION</code></a></h2>
  194. <p>If you specify a required minimum version when loading a
  195. module with <code>use</code>, and that module does not define a $VERSION,
  196. a fatal error is produced.</p>
  197. <p>
  198. </p>
  199. <h2><a name="chat2_pl_has_been_removed">chat2.pl has been removed</a></h2>
  200. <p>The obsolete chat2 library that should never have been allowed
  201. to escape the laboratory has been decommissioned.</p>
  202. <p>
  203. </p>
  204. <h2><a name="chdir_____and_chdir_undef__are_deprecated"><code>chdir('')</code> and <code>chdir(undef)</code> are deprecated</a></h2>
  205. <p>Using <code>chdir('')</code> or <code>chdir(undef)</code> instead of explicit <code>chdir()</code> is
  206. doubtful.  A failure (think <code>chdir(some_function())</code> can lead into
  207. unintended <code>chdir()</code> to the home directory, therefore this behaviour
  208. is deprecated.</p>
  209. <p>
  210. </p>
  211. <h2><a name="dump___should_now_be_spelled_core__dump__"><code>dump()</code> should now be spelled CORE::dump()</a></h2>
  212. <p>The builtin <code>dump()</code> function has probably outlived most of its
  213. usefulness.  The core-dumping functionality remains
  214. available as an explicit call to <code>CORE::dump()</code>, but in future
  215. releases the behaviour of an unqualified <code>dump()</code> call may change.</p>
  216. <p>
  217. </p>
  218. <h2><a name="unimplemented_posix_regex_features_are_now_fatal">Unimplemented POSIX regex features are now fatal</a></h2>
  219. <p>The unimplemented POSIX regex features [[.cc.]] and [[=c=]] are still
  220. recognised but now cause fatal errors.  The previous behaviour of
  221. ignoring them by default and warning if requested was unacceptable
  222. since it, in a way, falsely promised that the features could be used.</p>
  223. <p>
  224. </p>
  225. <h2><a name="_raw_and__crlf_disciplines_no_longer_have_inverse_behaviors"><code>:raw</code> and <code>:crlf</code> disciplines no longer have inverse behaviors</a></h2>
  226. <p>Previous versions of perl and some readings of some sections of Camel
  227. III implied that the <code>:raw</code> ``discipline'' was the inverse of <code>:crlf</code>.
  228. Turning off ``clrfness'' is no longer enough to make a stream truly
  229. binary. So the PerlIO <code>:raw</code> layer (or ``discipline'', to use the Camel
  230. book's older terminology) is now formally defined as being equivalent
  231. to <code>binmode(FH)</code> - which is in turn defined as doing whatever is
  232. necessary to pass each byte as-is without any translation.  In
  233. particular <code>binmode(FH)</code> - and hence <code>:raw</code> - will now turn off both
  234. CRLF and UTF-8 translation and remove other layers (e.g. :encoding())
  235. which would modify byte stream.</p>
  236. <p>
  237. </p>
  238. <h2><a name="pack_unpack_d_f_recycled">pack/unpack D/F recycled</a></h2>
  239. <p>The undocumented pack/unpack template letters D/F have been recycled
  240. for better use: now they stand for long double (if supported by the
  241. platform) and NV (Perl internal floating point type).  (They used
  242. to be aliases for d/f, but you never knew that.)</p>
  243. <p>
  244. </p>
  245. <h2><a name="eq__ne__lt__le__ge__gt_operators_no_longer_part_of_the_language">EQ, NE, LT, LE, GE, GT operators no longer part of the language</a></h2>
  246. <p>The long deprecated uppercase aliases for the string comparison
  247. operators (EQ, NE, LT, LE, GE, GT) have now been removed.</p>
  248. <p>
  249. </p>
  250. <h2><a name="tr___cu_has_been_removed">tr///CU has been removed</a></h2>
  251. <p>The tr///C and tr///U features have been removed and will not return;
  252. the interface was a mistake.  Sorry about that.  For similar
  253. functionality, see pack('U0', ...) and pack('C0', ...).</p>
  254. <p>This change was already included in Perl 5.6.1.</p>
  255. <p>
  256. </p>
  257. <h2><a name="new_warnings_and_deprecations">New warnings and deprecations</a></h2>
  258. <ul>
  259. <li></li>
  260. The (bogus) escape sequences \8 and \9 now give an optional warning
  261. (``Unrecognized escape passed through'').  There is no need to \-escape
  262. any <code>\w</code> character.
  263. <p></p>
  264. <li></li>
  265. *glob{FILEHANDLE} is deprecated. Use *glob{IO} instead.
  266. <p></p>
  267. <li></li>
  268. The <code>package;</code> syntax (<code>package</code> without an argument) has been
  269. deprecated.  Its semantics were never that clear and its
  270. implementation even less so.  If you have used that feature to
  271. disallow all but fully qualified variables, <code>use strict;</code> instead.
  272. <p></p>
  273. <li></li>
  274. The current user-visible implementation of pseudo-hashes (the weird
  275. use of the first array element) is deprecated starting from Perl 5.8.0
  276. and will be removed in Perl 5.10.0, and the feature will be
  277. implemented differently.  Not only is the current interface rather
  278. ugly, but the current implementation slows down normal array and hash
  279. use quite noticeably. The <code>fields</code> pragma interface will remain
  280. available.  The <em>restricted hashes</em> interface is expected to
  281. be the replacement interface (see <a href="/Hash/Util.html">the Hash::Util manpage</a>).  If your existing
  282. programs depends on the underlying implementation, consider using
  283. <code>Class::PseudoHash</code> from CPAN.
  284. <p></p>
  285. <li></li>
  286. After years of trying, suidperl is considered to be too complex to
  287. ever be considered truly secure.  The suidperl functionality is likely
  288. to be removed in a future release.
  289. <p></p>
  290. <li></li>
  291. Earlier Perls treated ``sub foo (@bar)'' as equivalent to ``sub foo (@)''.
  292. The prototypes are now checked better at compile-time for invalid
  293. syntax.  An optional warning is generated (``Illegal character in
  294. prototype...'')  but this may be upgraded to a fatal error in a future
  295. release.
  296. <p></p>
  297. <li></li>
  298. The <code>exec LIST</code> and <code>system LIST</code> operations now produce warnings on
  299. tainted data and in some future release they will produce fatal errors.
  300. <p></p>
  301. <li></li>
  302. The existing behaviour when localising tied arrays and hashes is wrong,
  303. and will be changed in a future release, so do not rely on the existing
  304. behaviour.
  305. <p></p>
  306. <li></li>
  307. The arguments of <code>WriteMakefile()</code> in Makefile.PL are now checked
  308. for sanity much more carefully than before.  This may cause new
  309. warnings when modules are being installed.  See <a href="/ExtUtils/MakeMaker.html">the ExtUtils::MakeMaker manpage</a>
  310. for more details.
  311. <p></p>
  312. <li></li>
  313. Using arrays or hashes as references (e.g. <code>%foo->{bar}</code>
  314. has been deprecated for a while.  Now these constructs will elicit an
  315. optional warning.
  316. <p></p>
  317. <li></li>
  318. Use of the <code>/c</code> match modifier without an accompanying <code>/g</code> modifier
  319. elicits a new warning: <code>Use of /c modifier is meaningless without /g</code>.
  320. <p>Use of <code>/c</code> in substitutions, even with <code>/g</code>, elicits the
  321. <code>Use of /c modifier is meaningless in s///</code> warning.</p>
  322. <p>Use of <code>/g</code> with <code>split</code> elicits the
  323. <code>Use of /g modifier is meaningless in split</code> warning.</p>
  324. <p></p>
  325. <li></li>
  326. Ambiguous ranges in the transliteration operator (such as <code>a-z-9</code>) now
  327. provoke warnings.
  328. <p></p>
  329. <li></li>
  330. <code>push @a;</code> and <code>unshift @a;</code> (with no values to push or unshift)
  331. now produce a warning.  This may be a problem for generated code.
  332. <p></p>
  333. <li></li>
  334. Many other new warnings have been added (see <em>perl58delta</em> for a complete
  335. list).  All of them are optional, and are only
  336. enabled when running perl with the <code>-w</code> switch or with <code>use warnings</code>.
  337. Warnings can be suppressed in specific lexical scopes using
  338. <code>no warnings</code>.
  339. <p></p></ul>
  340. <p>
  341. </p>
  342. <hr />
  343. <h1><a name="known_issues">Known Issues</a></h1>
  344. <p>
  345. </p>
  346. <h2><a name="all_platforms">All Platforms</a></h2>
  347. <p>The definitive summary of platform-independent changes and known issues in
  348. this release is available in <em>perl58delta</em>, <em>perl581delta</em>, <em>perldelta</em>
  349. and in the Change Log that comes with the ActivePerl distribution.</p>
  350. <p>Only the significant known issues from <em>perl58delta</em> are listed here.</p>
  351. <dl>
  352. <dt><strong><a name="item_the_compiler_suite_is_still_very_experimental">The Compiler Suite Is Still Very Experimental</a></strong><br />
  353. </dt>
  354. <dd>
  355. The compiler suite is slowly getting better but it continues to be
  356. highly experimental.  Use in production environments is discouraged.
  357. </dd>
  358. <p></p>
  359. <dt><strong><a name="item_localising_tied_arrays_and_hashes_is_broken">Localising Tied Arrays and Hashes Is Broken</a></strong><br />
  360. </dt>
  361. <dd>
  362. <pre>
  363.     local %tied_array;</pre>
  364. </dd>
  365. <dd>
  366. <p>doesn't work as one would expect: the old value is restored
  367. incorrectly.  This will be changed in a future release, but we don't
  368. know yet what the new semantics will exactly be.  In any case, the
  369. change will break existing code that relies on the current
  370. (ill-defined) semantics, so just avoid doing this in general.</p>
  371. </dd>
  372. <dt><strong><a name="item_self_2dtying_problems">Self-tying Problems</a></strong><br />
  373. </dt>
  374. <dd>
  375. Self-tying of arrays and hashes is broken in rather deep and
  376. hard-to-fix ways.  As a stop-gap measure to avoid people from getting
  377. frustrated at the mysterious results (core dumps, most often), it is
  378. forbidden for now (you will get a fatal error even from an attempt).
  379. </dd>
  380. <dd>
  381. <p>A change to self-tying of globs has caused them to be recursively
  382. referenced (see: <em>perlobj</em>, ``Two-Phased Garbage Collection'').  You
  383. will now need an explicit untie to destroy a self-tied glob.  This
  384. behaviour may be fixed at a later date.</p>
  385. </dd>
  386. <dd>
  387. <p>Self-tying of scalars and IO objects works.</p>
  388. </dd>
  389. <p></p>
  390. <dt><strong><a name="item_tied_2fmagical_array_2fhash_elements_do_not_autovi">Tied/Magical Array/Hash Elements Do Not Autovivify</a></strong><br />
  391. </dt>
  392. <dd>
  393. For normal arrays <code>$foo = \$bar[1]</code> will assign <code>undef</code> to
  394. <code>$bar[1]</code> (assuming that it didn't exist before), but for
  395. tied/magical arrays and hashes such autovivification does not happen
  396. because there is currently no way to catch the reference creation.
  397. The same problem affects slicing over non-existent indices/keys of
  398. a tied/magical array/hash.
  399. </dd>
  400. <p></p>
  401. <dt><strong><a name="item_unicode_in_package_2fclass_and_subroutine_names_do">Unicode in package/class and subroutine names does not work</a></strong><br />
  402. </dt>
  403. <dd>
  404. One can have Unicode in identifier names, but not in package/class or
  405. subroutine names.  While some limited functionality towards this does
  406. exist as of Perl 5.8.0, that is more accidental than designed; use of
  407. Unicode for the said purposes is unsupported.
  408. </dd>
  409. <dd>
  410. <p>One reason for this incompleteness is its (currently) inherent
  411. non-portability: since both package names and subroutine names may
  412. need to be mapped to file and directory names, the Unicode capability
  413. of the filesystem becomes important, and there unfortunately aren't
  414. portable answers.</p>
  415. </dd>
  416. <p></p></dl>
  417. <p>
  418. </p>
  419. <h2><a name="linux_and_solaris">Linux and Solaris</a></h2>
  420. <ul>
  421. <li></li>
  422. Some versions of tar on Solaris have bugs that prevent proper extraction
  423. of files in a package that has long path names.  Most other versions
  424. of tar on Solaris use a different method than GNU tar to encode pathnames
  425. longer than 100 characters.  GNU tar is therefore required to extract the
  426. package into the filesystem correctly.  A precompiled version of GNU tar
  427. for the sparc platform is available from:
  428. <pre>
  429.     <a href="http://www.sunfreeware.com/">http://www.sunfreeware.com/</a></pre>
  430. <p>You can also get the source package for GNU tar from:</p>
  431. <pre>
  432.     <a href="http://www.gnu.org/">http://www.gnu.org/</a></pre>
  433. <p></p>
  434. <li></li>
  435. The suidperl executable is not included in this package due to potential
  436. security issues.  If you wish to use suidperl in your installation, we
  437. recommend building Perl from source.  The source code for ActivePerl is
  438. available at:
  439. <pre>
  440.     <a href="http://www.ActiveState.com">http://www.ActiveState.com</a></pre>
  441. <p></p></ul>
  442. <p>
  443. </p>
  444. <h2><a name="windows">Windows</a></h2>
  445. <ul>
  446. <li></li>
  447. ActivePerl depends on MSVCRT.DLL being installed on the target system.
  448. This file ships with all versions of Windows except for Windows 95.
  449. If you do not have this file installed on your system you may
  450. experience problems installing and/or running components within ActivePerl.
  451. <p>You can download a self extracting executable that contains MSVCRT.DLL
  452. from:</p>
  453. <pre>
  454.     <a href="ftp://ftp.microsoft.com/softlib/mslfiles/msvcrt.exe">ftp://ftp.microsoft.com/softlib/mslfiles/msvcrt.exe</a></pre>
  455. <p>Save the file in a temporary directory and double click on it to
  456. extract the files. Follow the instructions in the ReadMe.txt file
  457. contained in the package in order to install the missing file.</p>
  458. <p></p>
  459. <li></li>
  460. The <code>fork()</code> emulation has known limitations.  See <em>perlfork</em> for a
  461. detailed summary.  In particular, <code>fork()</code> emulation will not work
  462. correctly with extensions that are either not thread-safe, or maintain
  463. internal state that cannot be cloned in the psuedo-child process.  This
  464. caveat currently applies to extensions such as Tk and Storable.
  465. <p></p>
  466. <li></li>
  467. It seems that some people are having problems with the ActivePerl MSI
  468. installer.
  469. <p>The first thing to note is that you CANNOT install ActivePerl 5.8 over
  470. an older version of ActivePerl based on 5.6 or 5.005, such as build 633
  471. or any other 600 or 500 series build.</p>
  472. <p>We have determined that one cause of this error message is due to other
  473. installations of Perl that may be pointed at by something in the
  474. environment.</p>
  475. <p><strong>Workaround</strong></p>
  476. <p>The sure-fire solution is to make absolutely certain that no other
  477. installations of Perl are on the target machine. Realizing that this is not
  478. always possible, you can follow these steps to ensure the other
  479. installations will not interfere.</p>
  480. <p>1) Stop the ``Windows Installer'' service. This can be accomplished from the
  481. command prompt using the following command:</p>
  482. <pre>
  483.     c:\> net stop "Windows Installer"</pre>
  484. <p>2) Temporarily remove or rename PERLLIB and PERL5LIB environment
  485. variables in the system environment.</p>
  486. <p>3) Temporarily remove or rename the following registry values:</p>
  487. <pre>
  488.     [\\HKEY_LOCAL_MACHINE\Software\Perl] lib = <directory> (REG_SV)
  489.     [\\HKEY_LOCAL_MACHINE\Software\Perl] sitelib = <directory> (REG_SV)
  490.     [\\HKEY_LOCAL_MACHINE\Software\Perl] lib-<PerlVersion> = <directory> (REG_SV)
  491.     [\\HKEY_LOCAL_MACHINE\Software\Perl] sitelib-<PerlVersion> = <directory>(REG_SV)</pre>
  492. <p>4) Proceed with the installation.</p>
  493. <p>Once the installation has completed successfully, the above actions may be
  494. undone although restoring the environment variables or the registry values
  495. may interfere with the proper operation of your new ActivePerl
  496. installation.</p>
  497. <p>In order to perform all of the above steps, you will need to have
  498. Administrative privileges on the target machine. If you do not have the
  499. required privileges you should contact you Administrator.</p>
  500. <p></p>
  501. <li></li>
  502. Norton AntiVirus 2000 detects VBS.NewLove.A in the file ActivePerl-Winfaq12.html.
  503. <p><strong>Workaround</strong></p>
  504. <p>This is a false positive by Norton AntiVirus.  ActivePerl-Winfaq12.html has
  505. been examined by hand, and it is likely that the following example code is
  506. what causes the false report.</p>
  507. <pre>
  508.     <BLOCKQUOTE>
  509.     <P><CODE>use strict;<BR>
  510.       use Win32::OLE;<BR>
  511.       use Win32::OLE::Const 'Microsoft Outlook';<BR>
  512.       <BR>
  513.       my $Outlook = Win32::OLE-&gt;new('Outlook.Application', 'Quit');<BR>
  514.       my $ol = Win32::OLE::Const-&gt;Load($Outlook);<BR>
  515.       <BR>
  516.       my $namespace = $Outlook-&gt;GetNamespace(&quot;MAPI&quot;);<BR>
  517.       my $Folder = $namespace-&gt;GetDefaultFolder(olFolderInbox);<BR>
  518.       my $NewFolder = $Folder-&gt;Folders-&gt;Add(&quot;Test1&quot;);</CODE></P>
  519.     </BLOCKQUOTE></pre>
  520. <p>This can be tested by removing the above code from the ActivePerl-Winfaq12.html
  521. file and rescanning with Norton AntiVirus.  Norton AntiVirus will no longer
  522. detect VBS.NewLove.A.</p>
  523. <p>Symantec has been notified of this issue.</p>
  524. <p></p>
  525. <li></li>
  526. The following Microsoft knowledge base articles may be helpful in solving MSI
  527. problems:
  528. <p>Q236597 - OFF2000: Error Message: The Installation Package Could Not Be Opened ...
  529. <a href="http://support.microsoft.com/support/kb/articles/Q236/5/97.ASP">http://support.microsoft.com/support/kb/articles/Q236/5/97.ASP</a></p>
  530. <p>Q224094 - OFF2000: Error Message: This Application Requires the Windows Installer to Run
  531. <a href="http://support.microsoft.com/support/kb/articles/Q224/0/94.ASP">http://support.microsoft.com/support/kb/articles/Q224/0/94.ASP</a></p>
  532. <p>Q247532 - Works 2000 Err Msg: Installer Terminated Prematurely
  533. <a href="http://support.microsoft.com/support/kb/articles/Q247/5/32.ASP">http://support.microsoft.com/support/kb/articles/Q247/5/32.ASP</a></p>
  534. <p>``Error 1303. The installer has insufficient privileges...'' Running Office Setup
  535. <a href="http://support.microsoft.com/support/kb/articles/Q228/6/58.ASP">http://support.microsoft.com/support/kb/articles/Q228/6/58.ASP</a></p>
  536. <p>Error Message: Error 1316 Running Setup for Admin Installation
  537. <a href="http://support.microsoft.com/support/kb/articles/Q228/5/92.ASP">http://support.microsoft.com/support/kb/articles/Q228/5/92.ASP</a></p>
  538. <p>Error 1327 Invalid Drive During Office Installation
  539. <a href="http://support.microsoft.com/support/kb/articles/Q217/6/66.ASP">http://support.microsoft.com/support/kb/articles/Q217/6/66.ASP</a></p>
  540. <p></p>
  541. <li></li>
  542. On Windows 9x, the system must be rebooted for the PATH environment variable
  543. to take effect.
  544. <p>On Windows 9x, the PATH environment variable settings are not removed after an
  545. uninstall.</p>
  546. <p></p></ul>
  547. <p>
  548. </p>
  549. <h2><a name="further_information">Further Information</a></h2>
  550. <p>The Perl distribution comes with extensive documentation.  On Unix platforms,
  551. all the standard documentation is installed as man pages under the Perl
  552. install location.  The location of the man pages may need to be added to the
  553. MANPATH environment variable in order to access them.  For example, in
  554. the C shell:</p>
  555. <pre>
  556.     % setenv MANPATH /usr/local/ActivePerl-5.8/man:$MANPATH</pre>
  557. <p>The documentation is installed in HTML format on all platforms. If ActivePerl
  558. was installed in /usr/local/ActivePerl-5.8 then the HTML documentation
  559. would be located in /usr/local/ActivePerl-5.8/html.</p>
  560. <p>On Windows, the standard documentation along with Windows-specific Perl
  561. documentation is installed in HTML format, and is accessible from the
  562. ``Start'' menu.</p>
  563. <p>Updated versions of the HTML documentation will always be available at
  564. the ActiveState website:</p>
  565. <pre>
  566.     <a href="http://www.ActiveState.com/ActivePerl/">http://www.ActiveState.com/ActivePerl/</a></pre>
  567. <p>
  568. </p>
  569. <hr />
  570. <h1><a name="reporting_problems">Reporting Problems</a></h1>
  571. <p>Please report any problems you encounter with this release at the
  572. following location:</p>
  573. <pre>
  574.     <a href="http://bugs.ActiveState.com/ActivePerl/">http://bugs.ActiveState.com/ActivePerl/</a></pre>
  575. <p>If you do not have web access, reports can be also sent via email to
  576. <a href="mailto:ActivePerl-Bugs@ActiveState.com.">ActivePerl-Bugs@ActiveState.com.</a>  Please be sure to include detailed
  577. information about the platform in your message.</p>
  578. <p>As far as possible, please ensure that there is enough information in
  579. the report to reproduce the bug elsewhere.  It also helps to submit a
  580. minimal test case that exhibits the bug.</p>
  581.  
  582. </body>
  583.  
  584. </html>
  585.