Welcome to the OS390::Stdio module. In order to build this extension to perl you must get the gzipped tape archive over to OS/390 (ftp or nfs in binary mode). In summary the steps you need to execute are: gunzip OS390-Stdio-0.003.tar.gz pax -f -t < OS390-Stdio-0.003.tar cd OS390-Stdio-0.003 perl Makefile.PL make make test make install make inst_perl In detail the steps are: Unpack the ASCII source code archive (the gunzip can be done on a non OE machine if necessary): gunzip OS390-Stdio-0.003.tar.gz pax -f -t < OS390-Stdio-0.003.tar then configure and build (see `perldoc ExtUtils::MakeMaker` for more information on building staticially linked perl extensions and other options to pass to perl on the `perl Makefile.PL` step, as well as the section "Build tips" below for more info): cd OS390-Stdio-0.003 perl Makefile.PL [-DNO_WARN_IF_NOT_PDS] make now make a static perl binary and run the regression test: make perl make test (see also the section "Regression testing tips" below for more info). If things look "OK" then install (this may require UID=0 or simply write privileges to the appropriate directories): make install make inst_perl "Documentation" --------------- Documentation is within Stdio.pm and should be available with: perldoc OS390::Stdio There are also examples of working data set handling code in test.pl, as well as in pds_test. This latter program can be run after `make test` and it will prompt you for some valid data set names. By the way, the OS/390 port of GNU make is recommended for this job. You can find GNU make as well as gzip/gunzip at: http://www.mks.com/ "Build tips" ------------ I've had no luck with versions of perl prior to 5.005_02. Hence I would recommend that you try that or an even later version of perl. I've also noted that the build works just fine on these: $ uname -v -r 05.00 02 $ uname -v -r 06.00 02 But has trouble with __dyninit_t and fldata_t structs on: $ uname -v -r 03.00 01 I'd be happy to resolve those build problems with someone - send me a unified or context diff of the changes you had to make. Thanks. Also, I might like to rename this module to S390::Stdio if possible. That is, I would like to provide stdio extensions to folks on VSE/ESA, VM/CMS, BS2k, etc. Of course I would be willing to rename mvsopen() and mvswrite() if such generalization proves feasible (I'd consider s390open() and s390write() if they didn't have a soon-to-expire timestamp in them). Any help with such a project would be greatly appreciated since I do not have routine access to VSE, VM or BS2k. Thank you. "Regression testing tips" ------------------------- In order to see more of what the regression tests are doing look for the %ENV varaibles to set, set them, then re-run the `make test` suite. e.g.: $ grep ENV test.pl my $DIAG = $ENV{'OS390_STDIO_DIAG'}; my $GORY = $ENV{'OS390_STDIO_GORY'}; $ export OS390_STDIO_DIAG='1' $ make test After the `make perl` or `make test` step it should be posible to run the pds_test test via: ./pds_test Then answer the questions that arise. The pds_test script will ask for a PDS name and a non-PDS data set name, and will attempt to read the DCB and MEMBER list from each as a means of testing pds_mem(). Despite the fact that pds_test should only be doing safe read-only operations on your data sets, at this time I'd advise against mentioning any mission critical data sets while running pds_test, just give it some junk data set names instead. See the comments at the head of pds_test for other tips on running it. ################################################################## Special notes for release 0.003: -------------------------------- The pds_mem() function is now functional. None of the catalog/VTOC dslist functions (vol_ser dsname_level) work. I am beginning to suspect that I may need to use the ISPF callable interface or even (eeks!) ASM (shudder). Help would be appreciated. None of the vsam routines [locate() update() delrec()] have been tested at all. Any volunteers to write tests? ################################################################## See the Changes file for older information. Peter Prymmer