home *** CD-ROM | disk | FTP | other *** search
- ****************************************************************************
- * *
- * Perl *
- * Practical Extraction and Report Language *
- * Version 5.005 *
- * RISC OS port 1.13 *
- * RiscPC Archive *
- * *
- ****************************************************************************
-
- STOP
-
- As warned the incorrect 'RiscOS' has gone. Packages are now RISCOS::
- and $^O reports 'riscos'. To find everything that needs changing try:
-
- scripts.grep -t RiscOS myscriptdir..*
-
- Beware: as RISC OS filesystems are case insensitive, use RiscOS; will find
- RISCOS, but not import subroutines. This will lead to a lot of wacky syntax
- errors. The brute-force solution is to
-
- perl -i~ -p 's/RiscOS/RISCOS/' myscriptdir..*
-
- (By the way, .. recursive globbing can be quite useful.)
-
- The directory structure has changed since 1.11 :-)
- Most of the perl library is now in a single zip file, and I've hacked perl to
- read libraries direct from a zip file. You *can* read the zip file with Infozip
- or SparkFS, but *please* leave it settype'd data, else perl will use SparkFS to
- read from it (which is probably slower). Again it is best to back up any changes
- you made to your !Perl, and start afresh with this copy if you're using 1.11 or
- earlier. I'm experimenting with sfio to get the remaining few library files
- inside the zip (those which use __DATA__).
-
- UnixLib still can't cope with command lines like
-
- perl -le 'print @ARGV' <Wimp$Scrap>
-
- as it thinks you mean
-
- perl -le 'print @ARGV' <"Wimp$Scrap" >
-
- and tries to open the (illegaly named) Wimp$Scrap for input redirection. This
- causes problems with programs such as !Netplex. Try changing the lines
- with set Alias$@RunType_102 in !Boot and !Run, replacing "perl" with "do perl".
- "do" is supplied with RiscPCs, and expands the variables before perl runs.
- Strictly UnixLib is doing nothing wrong. Due to popular demand UnixLib will
- probably be improved to guess when OS variables are wanted.
-
- (consider perl somescript <Foo>Bar - redirect from Foo to Bar, or use the OS
- variable Foo to make a filename to put in @ARGV? There are ambiguous cases)
-
- Anyway, back to the regular diatribe:
-
-
- NO WARRANTY
-
- BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
- REPAIR OR CORRECTION.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES.
-
-
-
- Perl is a language optimized for scanning arbitrary text files, extracting
- information from those text files, and printing reports based on that
- information. It's also a good language for many system management tasks.
- The language is intended to be practical (easy to use, efficient, complete)
- rather than beautiful (tiny, elegant, minimal).
-
- This is a statically linked perl for a Risc PC
- (Risc PCs, A7000s and Network Computers)
-
- This archive contains a !Perl application, a !System folder containing two
- support modules and a Docs directory containing perl documentation in text
- format.
-
- Merge the !System in this archive with your existing !System, either by
- Risc PC: Double click on !Boot to run configure.
- The "Configuration" window will open
- Click on the "System" icon - a "System" window will open
- Drag this archive's !System to the window
- Close all the windows - the job is done
- Archimedes: Drag this archive's !System to the directory containing your
- copy of !System (usually the root directory of your hard
- disc). This will update your copy of system
-
- This will copy gdbm 0.03 (the Gnu database manager) and CallASWI into your
- !System, where perl will be able to find them.
-
- *IF YOU HAVE USED A PREVIOUS PERL PORT* note that this perl defaults to
- "Unix style" filenames. (consistent with perl ports to other OSes)
- To *TURN OFF* automatic filename conversion
-
- use RISCOS::Filespec;
-
- at the start of your script (or invoke perl as perl -MRISCOS::Filespec)
-
- As well as documentation on this port and the RISC OS libraries, the Docs
- directory contains the basic documentation from the perl distribution as
- text files. The full documentation and FAQ is available in various formats
- (text, HTML, ddf, Impression documents) from the same site as this archive,
- or ftp://ftp.unfortu.net/pub/flirble/users/nick/P/
-
- Perl documentation as HTML is avaiable online from a local site via
- http://www.perl.com/CPAN/doc/manual/html/
-
-
- The !Perl application in this archive contains a perl binary with statically
- linked extensions (including socket support), standard perl libraries
- (providing many useful functions), and some RISC OS libraries providing
- RISC OS specific functions and perl-like interfaces to RISC OS system calls.
- When first seen by the filer !Perl will set an icon for perl files,
- initialise some variables needed by the perl binary, add the directory
- containing the perl binary to your Run$Path, and set a run-type for perl
- files so that double-clicking will run perl.
-
- Running the !Perl application will also open the directory, set the
- WimpSlot "next" to 1024K, and change directory to the !Perl directory.
-
- You may wish to copy the perl binary to a library directory where you keep
- other command line programs (such as compilers). If so, you should ensure
- that the actions performed by the !Boot file inside !Perl occur when you
- start your machine, so that perl can find its libraries. This can be done by
- placing !Perl in the !Boot.Choices.Boot.Tasks directory on a Risc PC, or by
- placing !Perl in a directory that is "seen" when your machine starts (ie a
- directory where you keep your common applications).
-
-
- UnixLib malloc (the memory allocator) cannot increase an application's
- WimpSlot size once perl is running. However, it does allow perl to use a
- dynamic area instead, which allows perl to claim (and release!) memory
- whilst running. However, as code cannot be run from a dynamic area this
- prevents the use of dynamic linking, so this perl binary is supplied with
- all extensions statically linked, which gives the perl binary full
- functionality at the expense of making it slightly larger. Because of this
- it is most suitable for use with Risc PCs (A7000s and Network Computers).
- An archive containing a statically linked perl binary is available from the
- same site as this archive, which is more suited to use on an A-Series machine
- (A300s, A400s, A3000s, A4000s, A5000s and A4s).
-
- Perl may be copied subject to the conditions of the "Artistic License"
- which you will find in the file "Artistic".
-
- The perl source code and utilities needed to remake perl from scratch are
- from ftp://ftp.unfortu.net/pub/flirble/users/nick/P/
-
- Nicholas Clark <nick@unfortu.net>
-
- PS Now look at !Perl.scripts.drawfile
-