SCOUG-Programming Mailing List Archives
Return to [ 27 |
April |
1999 ]
<< Previous Message <<
>> Next Message >>
This is a preliminary report of some success/progress on
my PERL question.
1) I xcopied all of my l:/perl directory over to an HPFS
/perl directory (from ext2 FS). This went quite smooth.
2) exported the new /perl/lib to PERL5LIB
(in pdksh.exe :
export PERL5LIB='X:/perl/lib'
)
3) my copy of the Gregory Smith script ran a little further,
so after a a few modifications the following script ran
to completion:
#!c:/os2/apps/perl5
print "spot 1\n" ;
require DynaLoader;
print "spot 2\n" ;
require OS2::REXX;
print "spot 3\n" ;
$module = DynaLoader::dl_load_file("c:/OS2/DLL/REXXUTIL.DLL") or die
"load";
print "spot 4\n" ;
# $address = DynaLoader::dl_find_symbol($module, "RXPROCID") or die
# $address = DynaLoader::dl_find_symbol($module, "SYSCLS") or die
$address = DynaLoader::dl_find_symbol($module, "SYSDRIVEMAP") or die
"find";
# just chose SYSDRIVEMAP as a REXXUTIL.DLL routine that would
# return something, pretty arbitrary.
print "address is $address\n" ;
print "spot 5\n" ;
# $result = OS2::REXX::_call("RxProcId", $address) or die "REXX";
$result = OS2::REXX::_call("SysDriveMap", $address) or die "REXX";
# This apparently runs SysDriveMap
# This stuff below, while not really appropriate for SysDriveMap,
# runs, and shows enough that SysDriveMap ran, returning output
# somewhat like I would expect.
print "spot 6\n" ;
($pid, $ppid, $ssid) = split(/\s+/, $result);
print "spot 7\n" ;
print "pid=$pid, ppid=$ppid, ssid=$ssid\n";
print "spot 8\n" ;
The output was:
spot 1
spot 2
Hello Q:/perl/lib/auto/OS2/REXX/REXX_.dll
spot 3
spot 4
address is 527002353
spot 5
spot 6
spot 7
pid=C:, ppid=D:, ssid=E:
spot 8
('Hello' message added to one of the routines on suggestion
of Steve Levine.)
Maybe my understanding is crude, but it looks like
the significance of DynaLoader is that the .dll name and
routine inside it could be passed as variables to the PERL
script, vectoring the execution as would probably be usefull
in OOP.
Regards,
Dallas E. Legan II
(562) 862 - 4854 ext. '*'
L
E
G
A
N
@
A
C
M
.
O
R
G
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".
For problems, contact the list owner at
"rollin@scoug.com".
=====================================================
<< Previous Message <<
>> Next Message >>
Return to [ 27 |
April |
1999 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|