/usr/local/CPAN/VMS-IndexedFile/VMS/IndexedFile.pm


package VMS::IndexedFile;

# Copyright (c) 1996 Kent A. Covert and Toni L. Harbaugh-Blackford. 
# All rights reserved.  This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.

require Exporter;
require DynaLoader;
require AutoLoader;
@ISA = qw(Exporter DynaLoader);

$VERSION = '0.02';

@EXPORT = qw(
  O_RDONLY O_WRONLY O_RDWR
  O_CREAT O_TRUNC O_EXCL
);
# Other items we are prepared to export if requested
@EXPORT_OK = qw();

sub AUTOLOAD {
  local($constname);
  ($constname = $AUTOLOAD) =~ s/.*:://;
  $val = constant($constname, @_ ? $_[0] : 0);
  if ($! != 0) {
    if ($! =~ /Invalid/) {
      $AutoLoader::AUTOLOAD = $AUTOLOAD;
      goto &AutoLoader::AUTOLOAD;
    } else {
      ($pack,$file,$line) = caller;
      die "Macro $constname is not defined, used at $file line $line.";
    }
  }
  eval "sub $AUTOLOAD { $val }";
  goto &$AUTOLOAD;
}

bootstrap VMS::IndexedFile $VERSION;

# Preloaded methods go here.  Autoload methods go after __END__, and are
# processed by the autosplit program.
1;
__END__