Sender: owner-perl5-porters@perl.org
Olaf Flebbe [Fri, 27 Aug 1999 21:50:41 +0000 (23:50 +0200)]
To: perl5-porters@perl.org
Subject: [ID 19990827.003] [PATCH]5.005_60 Patch for EPOC Support

p4raw-id: //depot/cfgperl@4047

README.epoc
epoc/config.h
epoc/epoc.c
epoc/epocish.h
epoc/perl.mmp
epoc/perl.pkg

index b2aaf18..d078d84 100644 (file)
@@ -4,50 +4,104 @@ Perl 5 README file for the EPOC operating system.
 
 Olaf Flebbe <o.flebbe@gmx.de>
 http://www.fortunecity.de/wolkenkratzer/trumpet/84/perl5.html
-June 27, 1999
+Aug 25, 1999
 
 Introduction
 ------------ 
 
-This is a port of Perl version 5, revision 005-57 to EPOC. 
+This is a port of Perl version 5.005_60 to EPOC. 
 
-There are many features left out, because of restrictions of the posix
+There are many features left out, because of restrictions of the POSIX
 support in the SDK.
 
-The following known problems do exist:
 
-1) very little testing.
+Installation/Usage
+------------------
 
-2) no support for system, backquoting, pipes etc. One cannot exec a
-   different process.
+You will need ~4MB free space in order to run perl.
+
+Install perl.sis on the EPOC machine (most likely a PSION Series
+5). If you do not know how to do that, you are on your own. You may
+have to use a CF Card in order to work with perl. The perl debugger
+uses more then 1.5 MB additional RAM. The heap is limited to 2 MB.
+
+Perl itself and its standard library are using 1.7MB disk space. I
+left out UTF support and modules which will not work with this
+version. (For details look into epoc/createpkg.pl). 
+
+Copy eshell.exe to the same location as perl. Start eshell.exe with a
+double click.
+
+Now you can enter: perl -de 0 in order to run the perl debugger. If
+you are leaving perl, you have to switch back manually to eshell.exe
+(With Ctrl-System or the button in the upper right corner of the
+System screen.) When perl is running, you will see a task with the
+name STDOUT in the task list. 
+
+You can redirect the output with the UNIX bourne shell syntax (this is
+built into perl rather then eshell) For instance the following command
+line will run the script test.pl with the output redirected to
+stdout_file, the errors to stderr_file and input from stdin_file.
+
+perl test.pl >stdout_file <stdin_file 2>stderr_file
+
+Alternativly you can use 2>&1 in order to add the standard error output to
+stdout.
+
+Pathnames to executables in eshell.exe have to be written with
+backslashes, file arguments to perl with slashes. The default drive of
+perl is the same as the drive perl.exe is located on, the default path
+is the path perl.exe is / (???).
+
+i.e. command lines look a little bit funny:
+
+D:\perl.exe C:/test.pl >C:/output.txt
 
-3) no signals, kill. Do not try to use them.
+In order to use Getopt::Long you have to autosplit this module by hand: run
 
-4) select is missing.
+\perl.exe \autosplit.pl in order to create the necessary files.
 
-5) binmode does not work. (No CR LF to LF translation for text files)
+You may have a problem to create perl scripts. A cumbersome workaround
+is to use the OPL Editor and exporting to text.
 
-6) no Config.pm
+Problems
+--------
 
-7) no I/O redirection.
+The following known problems exist:
 
-8) it may not run from a drive other than C: (I have no CF Card to test)
+1) no support for system, backquoting, pipes etc. One cannot exec a
+   different process.
+
+2) no signals, kill, alarm. Do not try to use them. This may be
+   impossible to implement on EPOC.
+
+3) select is missing.
+
+4) binmode does not exist. (No CR LF to LF translation for text files)
+
+5) Only a stub Config.pm
+
+6) EPOC does not handle the notion of current drive and current
+   directory very well (i.e. not at all, but it tries hard to emulate
+   one)
 
-9) sockets may hardly of any use.
+7) sockets may hardly of any use.
 
-10) You need a shell in order to run perl.exe.
+8) You need the shell eshell.exe in order to run perl.exe and supply
+   it with arguments.
 
 
 Compiling Perl 5 on the EPOC cross compiling envionment.
 --------------------------------------------------------
 
 0. You will need the C++ SDK from
-   http://developer.epocworld.com/. Install it on a separate drive.
+   http://developer.epocworld.com/. Install it on a separate
+   drive.
 
-1. Unpack the sources in the epoc development drive: The sources
-   should be in a directory perl5.005/perl5.005_57
-
-2. Move all files in the directory perl5.005_57/epoc to perl5.005_57.
+1. Get the Perl sources from your nearest CPAN site.
+   Unpack the sources of perl5.005_60 in the epoc development drive.
+2. Copy all files in the directory perl5.005_60/epoc to perl5.005_60.
 
 3. Check the perl.mmp file: It should have the correct locations for
    project und subproject (see step 1)
@@ -59,22 +113,21 @@ Compiling Perl 5 on the EPOC cross compiling envionment.
 
 5. Beam the perl5.005.sis to the Psion5, install and enjoy!
 
-ToDo List
+You can use epoc\createpkg.pl to generate a new perl.pkg file. 
+
+
+Wish List
 ---------
 
-- Allocate an UID from symbian.
+- Implement an OPX to get rid of eshell.exe.
 
-- Implement system() and I/O redirection, in order to run the
-  tests.
+- Implement system(), in order to run the  tests.
 
 - Implement getprotcolbyname() and relatives.
 
-- Implement perl as a OPX module. (What do you think?)
-
 Support Status
 --------------
 
 I'm offering this port "as is".  You can ask me questions, but I can't
 guarantee I'll be able to answer them; I don't know much about Perl
-itself;
-
+internals myself;
index e6cebb0..3f9808a 100644 (file)
  *     preprocessor can make decisions based on it.
  */
 #define INTSIZE 4              /**/
-#define LONGSIZE 8             /**/
+#define LONGSIZE 4             /**/
 #define SHORTSIZE 2            /**/
 
 /* MULTIARCH:
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "/perl/lib/5.00557/epoc"               /**/
-#define ARCHLIB_EXP "/perl/lib/5.00557/epoc"           /**/
+#define ARCHLIB "/perl/lib/5.00560/epoc"               /**/
+#define ARCHLIB_EXP "/perl/lib/5.00560/epoc"           /**/
 
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/perl/lib/5.00557"            /**/
-#define PRIVLIB_EXP "/perl/lib/5.00557"                /**/
+#define PRIVLIB "/perl/lib/5.00560"            /**/
+#define PRIVLIB_EXP "/perl/lib/5.00560"                /**/
 
 /* SELECT_MIN_BITS:
  *     This symbol holds the minimum number of bits operated by select.
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
 #define SITEARCH "/perl/lib/site_perl/5.00556/epoc"            /**/
-#define SITEARCH_EXP "/perl/lib/site_perl/5.00557/epoc"                /**/
+#define SITEARCH_EXP "/perl/lib/site_perl/5.00560/epoc"                /**/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  *     This symbol contains the ~name expanded version of SITELIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "/perl/lib/site_perl/5.00557"          /**/
-#define SITELIB_EXP "/perl/lib/site_perl/5.00557"              /**/
+#define SITELIB "/perl/lib/site_perl/5.00560"          /**/
+#define SITELIB_EXP "/perl/lib/site_perl/5.00560"              /**/
 
 /* STARTPERL:
  *     This variable contains the string to put in front of a perl
  */
 #define Uid_t uid_t            /* UID type */
 
+/* PERL_PRIfldbl:
+ *     This symbol, if defined, contains the string used by stdio to
+ *     format long doubles (format 'f') for output.
+ */
+/* PERL_PRIgldbl:
+ *     This symbol, if defined, contains the string used by stdio to
+ *     format long doubles (format 'g') for output.
+ */
+#define PERL_PRIfldbl  "f"     /**/
+#define PERL_PRIgldbl  "g"     /**/
+
 #endif
+
index a7c7e10..d0fae23 100644 (file)
@@ -1,35 +1,64 @@
-/* Epoc helper Routines */
+/*
+ *    Copyright (c) 1999 Olaf Flebbe o.flebbe@gmx.de
+ *    
+ *    You may distribute under the terms of either the GNU General Public
+ *    License or the Artistic License, as specified in the README file.
+ *
+ */
 
 #include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <sys/unistd.h>
+
+char *environ = NULL;
+void
+Perl_epoc_init(int *argcp, char ***argvp) {
+  int i;
+  int truecount=0;
+  char **lastcp = (*argvp);
+  char *ptr;
+  for (i=0; i< *argcp; i++) {
+    if ((*argvp)[i]) {
+      if (*((*argvp)[i]) == '<') {
+       if (strlen((*argvp)[i]) > 1) {
+         ptr =((*argvp)[i])+1;
+       } else {
+         i++;
+         ptr = ((*argvp)[i]);
+       }
+       freopen(  ptr, "r", stdin);
+      } else if (*((*argvp)[i]) == '>') {
+       if (strlen((*argvp)[i]) > 1) {
+         ptr =((*argvp)[i])+1;
+       } else {
+         i++;
+         ptr = ((*argvp)[i]);
+       }
+       freopen(  ptr, "w", stdout);
+      } else if ((*((*argvp)[i]) == '2') && (*(((*argvp)[i])+1) == '>')) {
+       if (strcmp( (*argvp)[i], "2>&1") == 0) {
+         dup2( fileno( stdout), fileno( stderr));
+       } else {
+          if (strlen((*argvp)[i]) > 2) {
+            ptr =((*argvp)[i])+2;
+         } else {
+           i++;
+           ptr = ((*argvp)[i]);
+         }
+         freopen(  ptr, "w", stderr);
+       }
+      } else {
+       *lastcp++ = (*argvp)[i];
+       truecount++;
+      }
+    } 
+  }
+  *argcp=truecount;
+      
 
-int getgid() {return 0;}
-int getegid() {return 0;}
-int geteuid() {return 0;}
-int getuid() {return 0;}
-int setgid() {return -1;}
-int setuid() {return -1;}
-
-
-char *environ;
-
-int Perl_my_popen( int a, int b) {
-        return 0;
-}
-int Perl_my_pclose( int a) {
-        return 0;
 }
 
-kill() {}
-signal() {}
-
-void execv() {}
-void execvp() {}
-
-
-void do_spawn() {}
-void do_aspawn() {}
-void Perl_do_exec() {}
-
 #ifdef __MARM__
 /* Symbian forgot to include __fixunsdfi into the MARM euser.lib */
 /* This is from libgcc2.c , gcc-2.7.2.3                          */
index 010dc69..70d4cbd 100644 (file)
@@ -89,9 +89,6 @@
  */
 /* #define ALTERNATE_SHEBANG "#!" / **/
 
-#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) || defined(__NetBSD__)
-# include <signal.h>
-#endif
 
 #ifndef SIGABRT
 #    define SIGABRT SIGILL
 
 /* these should be set in a hint file, not here */
 #ifndef PERL_SYS_INIT
-#ifdef PERL_SCO5
-#  define PERL_SYS_INIT(c,v)   fpsetmask(0); MALLOC_INIT
-#else
-#  ifdef POSIX_BC
-#    define PERL_SYS_INIT(c,v) sigignore(SIGFPE); MALLOC_INIT
-#  else
-#    define PERL_SYS_INIT(c,v) MALLOC_INIT
-#  endif
-#endif
+#    define PERL_SYS_INIT(c,v)  Perl_epoc_init(c,v);   MALLOC_INIT
 #endif
 
 #ifndef PERL_SYS_TERM
 #define BIT_BUCKET "NUL:"
 
 #define dXSUB_SYS
+
index 30c97fd..d6c6399 100644 (file)
@@ -1,11 +1,11 @@
 target  perl.exe
 targettype exe
-uid        0x010  0
-unicodeuid 0x010 0
+uid        0x100051d8 
+
 project perl5.005
-subproject perl5.005_57
+subproject perl5.005_60
 
-SOURCE av.c byterun.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mg.c miniperlmain.c op.c perl.c perlio.c perly.c pp.c pp_ctl.c pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c sv.c taint.c toke.c universal.c utf8.c  util.c epoc.c
+SOURCE av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mg.c miniperlmain.c op.c perl.c perlio.c perly.c pp.c pp_ctl.c pp_hot.c pp_sys.c regcomp.c regexec.c run.c scope.c sv.c taint.c toke.c universal.c utf8.c  util.c epoc.c epoc_stubs.c
 systeminclude \epoc32\include\libc \epoc32\include
 
 #if defined(MARM)
@@ -15,5 +15,6 @@ LIBRARY  ecrt0.obj
 #endif
 
 epocstacksize 49152
+epocheapsize 1024 2097152
 
 LIBRARY estlib.lib euser.lib
index c24945b..9456506 100644 (file)
@@ -1,7 +1,139 @@
-#{"perl5.005"},(0x010),57,5,0\r
-; Installation with an embedded .sis file\r
-"\epoc32\release\marm\rel\perl.exe"-"!:\perl.exe"\r
-"\perl5.005\perl5.005_57\lib\perl5db.pl"-"!:\perl\lib\5.00557\perl5db.pl"\r
-"\perl5.005\perl5.005_57\lib\Term\ReadLine.pm"-"!:\perl\lib\5.00557\Term\ReadLine.pm"\r
-; Component .sis files\r
-@"\epoc32\release\marm\rel\stdlib.sis",(0x010002c3)\r
+#{"perl5.005"},(0x100051d8),60,10,0
+"\epoc32\release\marm\rel\perl.exe"-"!:\perl.exe"
+"\perl5.005\perl5.005_60\epoc\Config.pm"-"!:\perl\lib\5.00560\Config.pm"
+"\perl5.005\perl5.005_60\lib\AnyDBM_File.pm"-"!:\perl\lib\5.00560\AnyDBM_File.pm"
+"\perl5.005\perl5.005_60\lib\AutoLoader.pm"-"!:\perl\lib\5.00560\AutoLoader.pm"
+"\perl5.005\perl5.005_60\lib\AutoSplit.pm"-"!:\perl\lib\5.00560\AutoSplit.pm"
+"\perl5.005\perl5.005_60\lib\Benchmark.pm"-"!:\perl\lib\5.00560\Benchmark.pm"
+"\perl5.005\perl5.005_60\lib\Carp.pm"-"!:\perl\lib\5.00560\Carp.pm"
+"\perl5.005\perl5.005_60\lib\Carp\Heavy.pm"-"!:\perl\lib\5.00560\Carp\Heavy.pm"
+"\perl5.005\perl5.005_60\lib\Class\Struct.pm"-"!:\perl\lib\5.00560\Class\Struct.pm"
+"\perl5.005\perl5.005_60\lib\Cwd.pm"-"!:\perl\lib\5.00560\Cwd.pm"
+"\perl5.005\perl5.005_60\lib\Devel\SelfStubber.pm"-"!:\perl\lib\5.00560\Devel\SelfStubber.pm"
+"\perl5.005\perl5.005_60\lib\DirHandle.pm"-"!:\perl\lib\5.00560\DirHandle.pm"
+"\perl5.005\perl5.005_60\lib\Dumpvalue.pm"-"!:\perl\lib\5.00560\Dumpvalue.pm"
+"\perl5.005\perl5.005_60\lib\English.pm"-"!:\perl\lib\5.00560\English.pm"
+"\perl5.005\perl5.005_60\lib\Env.pm"-"!:\perl\lib\5.00560\Env.pm"
+"\perl5.005\perl5.005_60\lib\Exporter\Heavy.pm"-"!:\perl\lib\5.00560\Exporter\Heavy.pm"
+"\perl5.005\perl5.005_60\lib\Exporter.pm"-"!:\perl\lib\5.00560\Exporter.pm"
+"\perl5.005\perl5.005_60\lib\Fatal.pm"-"!:\perl\lib\5.00560\Fatal.pm"
+"\perl5.005\perl5.005_60\lib\File\Basename.pm"-"!:\perl\lib\5.00560\File\Basename.pm"
+"\perl5.005\perl5.005_60\lib\File\CheckTree.pm"-"!:\perl\lib\5.00560\File\CheckTree.pm"
+"\perl5.005\perl5.005_60\lib\File\Compare.pm"-"!:\perl\lib\5.00560\File\Compare.pm"
+"\perl5.005\perl5.005_60\lib\File\Copy.pm"-"!:\perl\lib\5.00560\File\Copy.pm"
+"\perl5.005\perl5.005_60\lib\File\DosGlob.pm"-"!:\perl\lib\5.00560\File\DosGlob.pm"
+"\perl5.005\perl5.005_60\lib\File\Find.pm"-"!:\perl\lib\5.00560\File\Find.pm"
+"\perl5.005\perl5.005_60\lib\File\Path.pm"-"!:\perl\lib\5.00560\File\Path.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec.pm"-"!:\perl\lib\5.00560\File\Spec.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec\Functions.pm"-"!:\perl\lib\5.00560\File\Spec\Functions.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec\Mac.pm"-"!:\perl\lib\5.00560\File\Spec\Mac.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec\OS2.pm"-"!:\perl\lib\5.00560\File\Spec\OS2.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec\Unix.pm"-"!:\perl\lib\5.00560\File\Spec\Unix.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec\VMS.pm"-"!:\perl\lib\5.00560\File\Spec\VMS.pm"
+"\perl5.005\perl5.005_60\lib\File\Spec\Win32.pm"-"!:\perl\lib\5.00560\File\Spec\Win32.pm"
+"\perl5.005\perl5.005_60\lib\File\stat.pm"-"!:\perl\lib\5.00560\File\stat.pm"
+"\perl5.005\perl5.005_60\lib\FileCache.pm"-"!:\perl\lib\5.00560\FileCache.pm"
+"\perl5.005\perl5.005_60\lib\FileHandle.pm"-"!:\perl\lib\5.00560\FileHandle.pm"
+"\perl5.005\perl5.005_60\lib\FindBin.pm"-"!:\perl\lib\5.00560\FindBin.pm"
+"\perl5.005\perl5.005_60\lib\Getopt\Long.pm"-"!:\perl\lib\5.00560\Getopt\Long.pm"
+"\perl5.005\perl5.005_60\lib\Getopt\Std.pm"-"!:\perl\lib\5.00560\Getopt\Std.pm"
+"\perl5.005\perl5.005_60\lib\I18N\Collate.pm"-"!:\perl\lib\5.00560\I18N\Collate.pm"
+"\perl5.005\perl5.005_60\lib\Math\BigFloat.pm"-"!:\perl\lib\5.00560\Math\BigFloat.pm"
+"\perl5.005\perl5.005_60\lib\Math\BigInt.pm"-"!:\perl\lib\5.00560\Math\BigInt.pm"
+"\perl5.005\perl5.005_60\lib\Math\Complex.pm"-"!:\perl\lib\5.00560\Math\Complex.pm"
+"\perl5.005\perl5.005_60\lib\Math\Trig.pm"-"!:\perl\lib\5.00560\Math\Trig.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Checker.pm"-"!:\perl\lib\5.00560\Pod\Checker.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Functions.pm"-"!:\perl\lib\5.00560\Pod\Functions.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Html.pm"-"!:\perl\lib\5.00560\Pod\Html.pm"
+"\perl5.005\perl5.005_60\lib\Pod\InputObjects.pm"-"!:\perl\lib\5.00560\Pod\InputObjects.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Parser.pm"-"!:\perl\lib\5.00560\Pod\Parser.pm"
+"\perl5.005\perl5.005_60\lib\Pod\PlainText.pm"-"!:\perl\lib\5.00560\Pod\PlainText.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Select.pm"-"!:\perl\lib\5.00560\Pod\Select.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Text.pm"-"!:\perl\lib\5.00560\Pod\Text.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Text\Color.pm"-"!:\perl\lib\5.00560\Pod\Text\Color.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Text\Termcap.pm"-"!:\perl\lib\5.00560\Pod\Text\Termcap.pm"
+"\perl5.005\perl5.005_60\lib\Pod\Usage.pm"-"!:\perl\lib\5.00560\Pod\Usage.pm"
+"\perl5.005\perl5.005_60\lib\Search\Dict.pm"-"!:\perl\lib\5.00560\Search\Dict.pm"
+"\perl5.005\perl5.005_60\lib\SelectSaver.pm"-"!:\perl\lib\5.00560\SelectSaver.pm"
+"\perl5.005\perl5.005_60\lib\SelfLoader.pm"-"!:\perl\lib\5.00560\SelfLoader.pm"
+"\perl5.005\perl5.005_60\lib\Shell.pm"-"!:\perl\lib\5.00560\Shell.pm"
+"\perl5.005\perl5.005_60\lib\Symbol.pm"-"!:\perl\lib\5.00560\Symbol.pm"
+"\perl5.005\perl5.005_60\lib\Sys\Hostname.pm"-"!:\perl\lib\5.00560\Sys\Hostname.pm"
+"\perl5.005\perl5.005_60\lib\Sys\Syslog.pm"-"!:\perl\lib\5.00560\Sys\Syslog.pm"
+"\perl5.005\perl5.005_60\lib\Term\Cap.pm"-"!:\perl\lib\5.00560\Term\Cap.pm"
+"\perl5.005\perl5.005_60\lib\Term\Complete.pm"-"!:\perl\lib\5.00560\Term\Complete.pm"
+"\perl5.005\perl5.005_60\lib\Term\ReadLine.pm"-"!:\perl\lib\5.00560\Term\ReadLine.pm"
+"\perl5.005\perl5.005_60\lib\Test.pm"-"!:\perl\lib\5.00560\Test.pm"
+"\perl5.005\perl5.005_60\lib\Test\Harness.pm"-"!:\perl\lib\5.00560\Test\Harness.pm"
+"\perl5.005\perl5.005_60\lib\Text\Abbrev.pm"-"!:\perl\lib\5.00560\Text\Abbrev.pm"
+"\perl5.005\perl5.005_60\lib\Text\ParseWords.pm"-"!:\perl\lib\5.00560\Text\ParseWords.pm"
+"\perl5.005\perl5.005_60\lib\Text\Soundex.pm"-"!:\perl\lib\5.00560\Text\Soundex.pm"
+"\perl5.005\perl5.005_60\lib\Text\Tabs.pm"-"!:\perl\lib\5.00560\Text\Tabs.pm"
+"\perl5.005\perl5.005_60\lib\Text\Wrap.pm"-"!:\perl\lib\5.00560\Text\Wrap.pm"
+"\perl5.005\perl5.005_60\lib\Tie\Array.pm"-"!:\perl\lib\5.00560\Tie\Array.pm"
+"\perl5.005\perl5.005_60\lib\Tie\Handle.pm"-"!:\perl\lib\5.00560\Tie\Handle.pm"
+"\perl5.005\perl5.005_60\lib\Tie\Hash.pm"-"!:\perl\lib\5.00560\Tie\Hash.pm"
+"\perl5.005\perl5.005_60\lib\Tie\RefHash.pm"-"!:\perl\lib\5.00560\Tie\RefHash.pm"
+"\perl5.005\perl5.005_60\lib\Tie\Scalar.pm"-"!:\perl\lib\5.00560\Tie\Scalar.pm"
+"\perl5.005\perl5.005_60\lib\Tie\SubstrHash.pm"-"!:\perl\lib\5.00560\Tie\SubstrHash.pm"
+"\perl5.005\perl5.005_60\lib\Time\Local.pm"-"!:\perl\lib\5.00560\Time\Local.pm"
+"\perl5.005\perl5.005_60\lib\Time\gmtime.pm"-"!:\perl\lib\5.00560\Time\gmtime.pm"
+"\perl5.005\perl5.005_60\lib\Time\localtime.pm"-"!:\perl\lib\5.00560\Time\localtime.pm"
+"\perl5.005\perl5.005_60\lib\Time\tm.pm"-"!:\perl\lib\5.00560\Time\tm.pm"
+"\perl5.005\perl5.005_60\lib\UNIVERSAL.pm"-"!:\perl\lib\5.00560\UNIVERSAL.pm"
+"\perl5.005\perl5.005_60\lib\abbrev.pl"-"!:\perl\lib\5.00560\abbrev.pl"
+"\perl5.005\perl5.005_60\lib\assert.pl"-"!:\perl\lib\5.00560\assert.pl"
+"\perl5.005\perl5.005_60\lib\autouse.pm"-"!:\perl\lib\5.00560\autouse.pm"
+"\perl5.005\perl5.005_60\lib\base.pm"-"!:\perl\lib\5.00560\base.pm"
+"\perl5.005\perl5.005_60\lib\bigfloat.pl"-"!:\perl\lib\5.00560\bigfloat.pl"
+"\perl5.005\perl5.005_60\lib\bigint.pl"-"!:\perl\lib\5.00560\bigint.pl"
+"\perl5.005\perl5.005_60\lib\bigrat.pl"-"!:\perl\lib\5.00560\bigrat.pl"
+"\perl5.005\perl5.005_60\lib\blib.pm"-"!:\perl\lib\5.00560\blib.pm"
+"\perl5.005\perl5.005_60\lib\cacheout.pl"-"!:\perl\lib\5.00560\cacheout.pl"
+"\perl5.005\perl5.005_60\lib\caller.pm"-"!:\perl\lib\5.00560\caller.pm"
+"\perl5.005\perl5.005_60\lib\chat2.pl"-"!:\perl\lib\5.00560\chat2.pl"
+"\perl5.005\perl5.005_60\lib\complete.pl"-"!:\perl\lib\5.00560\complete.pl"
+"\perl5.005\perl5.005_60\lib\constant.pm"-"!:\perl\lib\5.00560\constant.pm"
+"\perl5.005\perl5.005_60\lib\ctime.pl"-"!:\perl\lib\5.00560\ctime.pl"
+"\perl5.005\perl5.005_60\lib\diagnostics.pm"-"!:\perl\lib\5.00560\diagnostics.pm"
+"\perl5.005\perl5.005_60\lib\dotsh.pl"-"!:\perl\lib\5.00560\dotsh.pl"
+"\perl5.005\perl5.005_60\lib\dumpvar.pl"-"!:\perl\lib\5.00560\dumpvar.pl"
+"\perl5.005\perl5.005_60\lib\exceptions.pl"-"!:\perl\lib\5.00560\exceptions.pl"
+"\perl5.005\perl5.005_60\lib\fastcwd.pl"-"!:\perl\lib\5.00560\fastcwd.pl"
+"\perl5.005\perl5.005_60\lib\fields.pm"-"!:\perl\lib\5.00560\fields.pm"
+"\perl5.005\perl5.005_60\lib\filetest.pm"-"!:\perl\lib\5.00560\filetest.pm"
+"\perl5.005\perl5.005_60\lib\find.pl"-"!:\perl\lib\5.00560\find.pl"
+"\perl5.005\perl5.005_60\lib\finddepth.pl"-"!:\perl\lib\5.00560\finddepth.pl"
+"\perl5.005\perl5.005_60\lib\flush.pl"-"!:\perl\lib\5.00560\flush.pl"
+"\perl5.005\perl5.005_60\lib\ftp.pl"-"!:\perl\lib\5.00560\ftp.pl"
+"\perl5.005\perl5.005_60\lib\getcwd.pl"-"!:\perl\lib\5.00560\getcwd.pl"
+"\perl5.005\perl5.005_60\lib\getopt.pl"-"!:\perl\lib\5.00560\getopt.pl"
+"\perl5.005\perl5.005_60\lib\getopts.pl"-"!:\perl\lib\5.00560\getopts.pl"
+"\perl5.005\perl5.005_60\lib\hostname.pl"-"!:\perl\lib\5.00560\hostname.pl"
+"\perl5.005\perl5.005_60\lib\importenv.pl"-"!:\perl\lib\5.00560\importenv.pl"
+"\perl5.005\perl5.005_60\lib\integer.pm"-"!:\perl\lib\5.00560\integer.pm"
+"\perl5.005\perl5.005_60\lib\less.pm"-"!:\perl\lib\5.00560\less.pm"
+"\perl5.005\perl5.005_60\lib\lib.pm"-"!:\perl\lib\5.00560\lib.pm"
+"\perl5.005\perl5.005_60\lib\locale.pm"-"!:\perl\lib\5.00560\locale.pm"
+"\perl5.005\perl5.005_60\lib\look.pl"-"!:\perl\lib\5.00560\look.pl"
+"\perl5.005\perl5.005_60\lib\newgetopt.pl"-"!:\perl\lib\5.00560\newgetopt.pl"
+"\perl5.005\perl5.005_60\lib\open2.pl"-"!:\perl\lib\5.00560\open2.pl"
+"\perl5.005\perl5.005_60\lib\open3.pl"-"!:\perl\lib\5.00560\open3.pl"
+"\perl5.005\perl5.005_60\lib\overload.pm"-"!:\perl\lib\5.00560\overload.pm"
+"\perl5.005\perl5.005_60\lib\perl5db.pl"-"!:\perl\lib\5.00560\perl5db.pl"
+"\perl5.005\perl5.005_60\lib\pwd.pl"-"!:\perl\lib\5.00560\pwd.pl"
+"\perl5.005\perl5.005_60\lib\shellwords.pl"-"!:\perl\lib\5.00560\shellwords.pl"
+"\perl5.005\perl5.005_60\lib\sigtrap.pm"-"!:\perl\lib\5.00560\sigtrap.pm"
+"\perl5.005\perl5.005_60\lib\stat.pl"-"!:\perl\lib\5.00560\stat.pl"
+"\perl5.005\perl5.005_60\lib\strict.pm"-"!:\perl\lib\5.00560\strict.pm"
+"\perl5.005\perl5.005_60\lib\subs.pm"-"!:\perl\lib\5.00560\subs.pm"
+"\perl5.005\perl5.005_60\lib\syslog.pl"-"!:\perl\lib\5.00560\syslog.pl"
+"\perl5.005\perl5.005_60\lib\tainted.pl"-"!:\perl\lib\5.00560\tainted.pl"
+"\perl5.005\perl5.005_60\lib\termcap.pl"-"!:\perl\lib\5.00560\termcap.pl"
+"\perl5.005\perl5.005_60\lib\timelocal.pl"-"!:\perl\lib\5.00560\timelocal.pl"
+"\perl5.005\perl5.005_60\lib\utf8.pm"-"!:\perl\lib\5.00560\utf8.pm"
+"\perl5.005\perl5.005_60\lib\utf8_heavy.pl"-"!:\perl\lib\5.00560\utf8_heavy.pl"
+"\perl5.005\perl5.005_60\lib\validate.pl"-"!:\perl\lib\5.00560\validate.pl"
+"\perl5.005\perl5.005_60\lib\vars.pm"-"!:\perl\lib\5.00560\vars.pm"
+"\perl5.005\perl5.005_60\lib\warning.pm"-"!:\perl\lib\5.00560\warning.pm"
+@"\epoc32\release\marm\rel\stdlib.sis",(0x010002c3)