There are currently two programs for perl on wince: perl itself and a simple editor named PerlIDE. The programs run on nearly all wince platforms, even on WINCE200 and Palm Size PCs. There is also a build for CEPC/X86. NewsThu May 22 2003: Vadim Konovalov has more recent Perl
binaries available, also with Perl memory allocator,
see links below.Sat Oct 27 2001: Win32::API and Win32::OLE have been
ported. Win32::OLE works with ADOCE.Sat Nov 03 2001: Added profile report for those curious
why loading standard mods is so slow.Mon Jun 17 2002: News from Tsukamoto Makio
(tsukamoto@digit.que.ne.jp )One, PerlCE worked on XScale.I bought GENIOe550G which has processor based on XScale.
I installed console, fileutils, PerlCE and PerlIDE.
All of them worked on GENIOe550G.Two, CPAN module "HTTP::Lite" worked on PerlCE.I found HTTP::Lite module on CPAN, recent updates.
I tried it on PerlCE, it worked with proxy suppoting.
It'll help us with making HTTP client on PerlCE.
PerlThe binary archives do not contain any perl library files. You have to copy them from a regular perl distribution. There are only a few xs dlls in the archives. PerlIDEPerlIDE is a simple editor for perl. You can start scripts from it and show the output. When the cursor is positioned on a line with an error and line-number, you can jump to that line. Features/Limitations - Perl scripts not using pipes and external commands should run with no problems.
- Simple terminal escape sequences for stand-out and cursor positioning.
- Some XS dlls supported (IO/Socket/Dumper/NDBM/SDBM).
- No fork().
- No threads or PerlObject.
- Simple pipes should work with programs that use celib.dll.
- New mods Win32::API and Win32::OLE.
Installation - Get the archive for your device and unzip on your pc. Be sure to have smart crlf conversion turned off in WinZip. Copy the files to your device.
- Get latest celib.dll and copy to your /windows directory.
- Create registry entries using the registry editor from Microsoft's Powertoys for WinCE or using my cereg.exe. cereg.exe must run on your PC. An ActiveSync connection must be established. There are sample batch files in the archives.
- Create a link to PerlIDE on your desktop.
- Start PerlIDE and check the options dialog.
- To start perl scripts by clicking on a .pl file, you have to create one or two keys in HKEY_CLASSES_ROOT, like on normal Win32.
- You can copy other files from a standard perl dist to your device. Be sure to use files from the same perl version.
Do not overwrite the files that come with perl for wince. - Create directory dev in your UNIXROOTDIR (see below). This will be used for a pseudo /dev/null or nul.
- For looking up service ports with getservbyname(), you need to have a services file in $UNIXROOTDIR/etc/services.
RegistryBelow is a sample batch file that you can execute on your PC with an ActiveSync connection established. cereg.exe can be found here. set perlpath=/Storage Card/perl
set perlexe=%perlpath%/bin/perl.exe
set perllib=%perlpath%/usr/lib/perl5::- PERL5LIB
cereg -k "HKLM/Environment" -n "PERL5LIB" -v "%perllib%"::- For ShellExecute
cereg -k "HKCR/.pl" -n "" -v "perlfile"
cereg -k "HKCR/perlfile" -n "" -v "Perl Script"
cereg -k "HKCR/perlfile/DefaultIcon" -n "" -v "%perlexe%,-1"
cereg -k "HKCR/perlfile/Shell/open/command" -n "" -v """"%perlexe%""" ""%%1"""::- Misc
REM Height of 10 is ok, 14 does almost full screen
cereg -k "HKLM/Environment" -n "ROWS" -v "14"
REM MAX Width for PPC is 29 Chars
cereg -k "HKLM/Environment" -n "COLS" -v "29"
cereg -k "HKLM/Environment" -n "PATH" -v "/Storage Card/bin;%perlpath%/bin"
cereg -k "HKLM/Environment" -n "UNIXROOTDIR" -v "/Storage Card"
Problems - To use the Autoloader, PERL5LIB must contain forward-slashes. I have not yet tracked this problem.
- On Casio E100 there seems to be a socket.dll in ROM. You might have to rename the socket.dll that comes with perl and patch XSLoader.pm to load the renamed dll.
- On WINCE200 devices, perl56.dll, celib.dll and cedialogs.dll must be copied to the windows directory. This is not needed with other os versions, but might be a good idea anyway.
- On WINCE200 devices you need msvcrt.dll. It must be copied to your windows directory. msvcrt.dll can be found here.
- Reading and writing to the same filehandle might not work. It should work on raw files. This will be fixed.
- Textmode, like in DOS or Win32 is not supported. All files are opened in binary mode.
- Perl code that checks if a filename is absolute by checking for drive names will not work.
- perl -v might hang on some devices.
- The console window closes when perl exits. When you want so see the output in the console window, you might have to display a short message and ask the user to hit return, then read from STDIN at the end of your program.
- The console window might have scroll glitches when ROWS is not set or is too large.
- The environment from the registry might not be visible in $ENV. This bug will be fixed in a new release.
- cereg.exe is reported not to work with some WCE211/PalmSize devices.
PerformanceLoading all the standard modules to do reasonable work is kind of slow. I have hacked a simple profiler that uses the /Gh option and some assembly. Here is a profile report for Perl loading the stuff for Win32::Serial. I have no idea yet where to start optimizing things. It would best when standard modules could be pre-loaded and dumped into Perl like in Emacs. Notes - All new programs using my console now have a --noconsole option. When set, the console window does not show up.
- Be sure to use the newest celib.dll and don't overwrite it with older ones from other packages. New celib.dll builds should be backward-compatible.
- When you need a pipe and only want to read output from another program, you can read it's standard output files from the root directory. This only works with programs using my celib.dll.
FuturePerl 5.7 is being tested. The Windows CE port will be part of the standard perl distribution. 下载: File | Size | Date |
---|
Errno.pm | 3983 | Apr 03 2003 | Net-FTP.zip | 28198 | Apr 04 2003 | ange-ftp.tar.gz | 86527 | Oct 02 2001 | apache-ce.html | 1970 | Oct 19 2002 | apache1.jpg | 35456 | Jul 23 2001 | apache2.jpg | 47767 | Jul 23 2001 | apache3.jpg | 48570 | Jul 23 2001 | arm-asm-wince-arm-hpc-wce300.tar.gz | 161129 | Apr 03 2002 | arm-asm-wince-arm-pocket-wce300.tar.gz | 147698 | Apr 03 2002 | armasm.html | 934 | Jan 09 2002 | armasm1.jpg | 28725 | Jan 09 2002 | armasm2.jpg | 48579 | Jan 09 2002 | bibtex-all-platforms.tar.gz | 800525 | Jul 30 2002 | bibtex-readme.txt | 203 | Jul 12 2002 | caml-wince-arm-hpc-wce300.tar.gz | 211176 | Sep 13 2001 | caml-wince-mips-hpc-wce211.tar.gz | 206886 | Oct 15 2002 | caml-wince-sh3-hpc-wce211.tar.gz | 206211 | Sep 13 2001 | caml.html | 1075 | Sep 19 2001 | cediag.html | 526 | Sep 09 2001 | cediag1.jpg | 41881 | Sep 09 2001 | cedialogs-1.05-all-platforms.tar.gz | 648210 | Apr 17 10:55 | celib-3.13-dll-bin-all-platforms.tar.gz | 1364537 | Apr 17 10:59 | celib-funcs.html | 5743 | Aug 10 2001 | celib.html | 6131 | May 10 2002 | celib.txt | 1890 | Aug 10 2001 | console-1.3-all-platforms.tar.gz | 579081 | Feb 25 2002 | console.html | 4680 | Sep 09 2002 | console1.jpg | 33908 | Sep 24 2001 | debugger-mips-wce200.zip | 274430 | May 08 2003 | debugger-wince-arm-hpc-wce300.tar.gz | 12618 | Apr 25 2002 | debugger-wince-arm-pocket-wce300.tar.gz | 12566 | Apr 25 2002 | debugger-wince-mips-hpc-wce211.tar.gz | 12516 | Apr 08 2003 | debugger-wince-mips-pocket-wce300.tar.gz | 12562 | Apr 25 2002 | debugger.html | 906 | Sep 09 2001 | debugger.jpg | 38091 | May 25 2001 | des-wince-arm-hpc-wce300.tar.gz | 21664 | Sep 04 2001 | des-wince-mips-hpc-wce211.tar.gz | 24852 | Sep 04 2001 | des-wince-sh3-hpc-wce211.tar.gz | 22692 | Sep 04 2001 | devices.html | 1996 | Jan 12 2002 | dirlist.html | 51169 | May 13 2003 | dllexports | 4096 | Apr 17 2003 | emacs-ce-faq.html | 1116 | Aug 07 2001 | emacs-ce-readme.txt | 1926 | Aug 07 2001 | emacs-hp548-1.jpg | 12794 | Aug 21 2001 | emacs-hp548-2.jpg | 23827 | Aug 21 2001 | emacs-ipaq-landscape.jpg | 31803 | Aug 18 2001 | emacs-ipaq-portrait.jpg | 19754 | Aug 18 2001 | emacs-palm-x86em.jpg | 23055 | Feb 08 2001 | emacs-pencentra.jpg | 85392 | Jul 26 2002 | emacs-ppc-em.jpg | 13599 | Aug 18 2001 | emacs-ppc-linkfiles.tar.gz | 204 | Aug 21 2001 | emacs-proc1.jpg | 41669 |
|
发布评论