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