home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Updates / Perl / Non-RPC / ReadMe
Text File  |  1999-04-17  |  7KB  |  162 lines

  1. ****************************************************************************
  2. *                                       *
  3. *                    Perl                   *
  4. *          Practical Extraction and Report Language           *
  5. *                   Version  5.005                   *
  6. *                  RISC OS port 1.13                   *
  7. *                  A-Series  Archive                   *
  8. *                                       *
  9. ****************************************************************************
  10.  
  11.                     STOP
  12.  
  13. As warned the incorrect 'RiscOS' has gone. Packages are now RISCOS::
  14. and $^O reports 'riscos'. To find everything that needs changing try:
  15.  
  16. scripts.grep -t RiscOS myscriptdir..*
  17.  
  18. Beware: as RISC OS filesystems are case insensitive, use RiscOS; will find
  19. RISCOS, but not import subroutines. This will lead to a lot of wacky syntax
  20. errors. The brute-force solution is to
  21.  
  22. perl -i~ -p 's/RiscOS/RISCOS/' myscriptdir..*
  23.  
  24. (By the way, .. recursive globbing can be quite useful.)
  25.  
  26. The directory structure has changed since 1.11 :-)
  27. Most of the perl library is now in a single zip file, and I've hacked perl to
  28. read libraries direct from a zip file. You *can* read the zip file with Infozip
  29. or SparkFS, but *please* leave it settype'd data, else perl will use SparkFS to
  30. read from it (which is probably slower). Again it is best to back up any changes
  31. you made to your !Perl, and start afresh with this copy if you're using 1.11 or
  32. earlier. I'm experimenting with sfio to get the remaining few library files
  33. inside the zip (those which use __DATA__).
  34.  
  35. UnixLib still can't cope with command lines like
  36.  
  37. perl -le 'print @ARGV' <Wimp$Scrap>
  38.  
  39. as it thinks you mean
  40.  
  41. perl -le 'print @ARGV' <"Wimp$Scrap" >
  42.  
  43. and tries to open the (illegaly named) Wimp$Scrap for input redirection. This
  44. causes problems with programs such as !Netplex. Try changing the lines
  45. with set Alias$@RunType_102 in !Boot and !Run, replacing "perl" with "do perl".
  46. "do" is supplied with RiscPCs, and expands the variables before perl runs.
  47. Strictly UnixLib is doing nothing wrong. Due to popular demand UnixLib will
  48. probably be improved to guess when OS variables are wanted.
  49.  
  50. (consider perl somescript <Foo>Bar   - redirect from Foo to Bar, or use the OS
  51. variable Foo to make a filename to put in @ARGV?  There are ambiguous cases)
  52.  
  53. Anyway, back to the regular diatribe:
  54.  
  55.  
  56.                  NO WARRANTY
  57.  
  58.      BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  59. FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
  60. OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
  61. PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  62. OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  63. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
  64. TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  65. PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
  66. REPAIR OR CORRECTION.
  67.  
  68.      IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  69. WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
  70. REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
  71. INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
  72. OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
  73. TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
  74. YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
  75. PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  76. POSSIBILITY OF SUCH DAMAGES.
  77.  
  78.  
  79.  
  80. Perl is a language optimized for scanning arbitrary text files, extracting
  81. information from those text files, and printing reports based on that
  82. information. It's also a good language for many system management tasks.
  83. The language is intended to be practical (easy to use, efficient, complete)
  84. rather than beautiful (tiny, elegant, minimal).
  85.  
  86.           This is a dynamically linked perl for an A-series machine
  87.            (A300s, A400s, A3000s, A4000s, A5000s and A4s).
  88.  
  89. This archive contains a !Perl application, a !System folder containing two
  90. support modules and a Docs directory containing perl documentation in text
  91. format.
  92.  
  93. Merge the !System in this archive with your existing !System, either by
  94. Risc PC:    Double click on !Boot to run configure.
  95.         The "Configuration" window will open
  96.         Click on the "System" icon - a "System" window will open
  97.         Drag this archive's !System to the window
  98.         Close all the windows - the job is done
  99. Archimedes:    Drag this archive's !System to the directory containing your
  100.         copy of !System (usually the root directory of your hard
  101.         disc). This will update your copy of system
  102.  
  103. This will copy gdbm 0.03 (the Gnu database manager) and CallASWI into your
  104. !System, where perl will be able to find them.
  105.  
  106. *IF YOU HAVE USED A PREVIOUS PERL PORT* note that this perl defaults to
  107. "Unix style" filenames. (consistent with perl ports to other OSes)
  108. To *TURN OFF* automatic filename conversion
  109.  
  110.     use RISCOS::Filespec;
  111.  
  112. at the start of your script (or invoke perl as perl -MRISCOS::Filespec)
  113.  
  114. As well as documentation on this port and the RISC OS libraries, the Docs
  115. directory contains the basic documentation from the perl distribution as
  116. text files. The full documentation and FAQ is available in various formats
  117. (text, HTML, ddf, Impression documents) from the same site as this archive,
  118. or ftp://ftp.unfortu.net/pub/flirble/users/nick/P/
  119.  
  120. Perl documentation as HTML is avaiable online from a local site via
  121. http://www.perl.com/CPAN/doc/manual/html/
  122.  
  123.  
  124. The !Perl application in this archive contains a perl binary, dynamically
  125. linked extensions (including socket support), standard perl libraries
  126. (providing many useful functions), and some RISC OS libraries providing
  127. RISC OS specific functions and perl-like interfaces to RISC OS system calls.
  128. When first seen by the filer !Perl will set an icon for perl files,
  129. initialise some variables needed by the perl binary, add the directory
  130. containing the perl binary to your Run$Path, and set a run-type for perl
  131. files so that double-clicking will run perl.
  132.  
  133. Running the !Perl application will also open the directory, set the
  134. WimpSlot "next" to 1024K, and change directory to the !Perl directory.
  135.  
  136. You may wish to copy the perl binary to a library directory where you keep
  137. other command line programs (such as compilers). If so, you should ensure
  138. that the actions performed by the !Boot file inside !Perl occur when you
  139. start your machine, so that perl can find its libraries. This can be done by
  140. placing !Perl in the !Boot.Choices.Boot.Tasks directory on a Risc PC, or by
  141. placing !Perl in a directory that is "seen" when your machine starts (ie a
  142. directory where you keep your common applications).
  143.  
  144.  
  145. Dynamiclly linked extensions are only loaded from disc when actually needed,
  146. hence this allows the perl binary full functionality whilst reducing its
  147. size. Because of an interaction with the UnixLib malloc function they
  148. prevent perl using dynamic areas on a Risc PC, hence this !Perl is most
  149. suitable for use on an A-Series machine (A300s, A400s, A3000s, A4000s, A5000s
  150. and A4s). An archive containing a statically linked perl binary is available
  151. from the same site as this archive, which is more suited to use on Risc PCs
  152.  
  153. Perl may be copied subject to the conditions of the "Artistic License"
  154. which you will find in the file "Artistic".
  155.  
  156. The perl source code and utilities needed to remake perl from scratch are
  157. from ftp://ftp.unfortu.net/pub/flirble/users/nick/P/
  158.  
  159. Nicholas Clark <nick@unfortu.net>
  160.  
  161. PS Now look at !Perl.scripts.drawfile
  162.