"Safe" extension module (release beta1) for Perl5. Copyright (C) Malcolm Beattie 1995 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. You can also distribute under the terms of the Artistic License detailed in the perl5 distribution itself. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This software is licensed under the GNU General Public License INTRODUCTION This is the beta1 release of a Safe extension to perl5. Since the extension attempts to provide a safe environment in which to execute possibly unsafe perl code, you should (re)read the paragraphs above concerning lack of warranty. This extension requires that your version of perl5 supports operator masks. There are three possibilities, depending on how recent your version of perl5 is. (1) If you have a version earlier than perl5.001m then you need to apply the patch file opmask.patch file from this distribution. You also need to include the compilation option -DUSE_OP_MASK when you configure perl to be built. Versions of perl5 earlier than perl5.001e will not work at all with this extension and you should upgrade. (2) If you are using perl5.001m or later and there is still a line #ifdef USE_OP_MASK in op.c then you just need to include the compilation option -DUSE_OP_MASK when you configure perl to be built. (3) If you are using a newer version of perl then it's possible that either the #ifdef USE_OP_MASK is absent (and hence the #define CHECKOP code is always used) or else #define USE_OP_MASK may be included by default. In either case, you would not need to do anything special to get your copy of perl to use operator masks. INSTALLATION Apply the above mentioned patch, if necessary, to get an op_mask-aware version of perl. Then proceed as with any other perl5 extension: unpack the distribution *away from* the main perl source hierarchy and type perl Makefile.PL Then type make provided dynamic extensions are supported on your platform. There is a bug in the version of make supplied with OSF/1. For OSF/1 you'll need to type "make dynamic" or else use GNU make. If you don't want to use dynamic loading, then make perl should do the trick. Try it out with make test If the t/mask.t test fails then you should check that your version of perl has the necessary code in op.c to understand operator masks. Re-read the introduction section above to check what needs to be done. Malcolm Beattie mbeattie@sable.ox.ac.uk pre-release 26 April 1995 alpha1 26 May 1995 alpha2 19 June 1995 beta1 22 August 1995