home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _2fd0e972aa6c31f31299ec030b8ac327 < prev    next >
Text File  |  2000-03-15  |  2KB  |  119 lines

  1. package Win32::File;
  2.  
  3. #
  4. # File.pm
  5. # Written by Douglas_Lankshear@ActiveWare.com
  6. #
  7. # subsequent hacks:
  8. #   Gurusamy Sarathy
  9. #
  10.  
  11. $VERSION = '0.04';
  12.  
  13. require Exporter;
  14. require DynaLoader;
  15.  
  16. @ISA= qw( Exporter DynaLoader );
  17. @EXPORT = qw(
  18.         ARCHIVE
  19.         COMPRESSED
  20.         DIRECTORY
  21.         HIDDEN
  22.         NORMAL
  23.         OFFLINE
  24.         READONLY
  25.         SYSTEM
  26.         TEMPORARY
  27.         );
  28. @EXPORT_OK = qw(GetAttributes SetAttributes);
  29.  
  30. =head1 NAME
  31.  
  32. Win32::File - manage file attributes in perl
  33.  
  34. =head1 SYNOPSIS
  35.  
  36.     use Win32::File;
  37.  
  38. =head1 DESCRIPTION
  39.  
  40. This module offers the retrieval and setting of file attributes.
  41.  
  42. =head1 Functions
  43.  
  44. =head2 NOTE
  45.  
  46. All of the functions return FALSE (0) if they fail, unless otherwise noted.
  47. The function names are exported into the caller's namespace by request.
  48.  
  49. =over 10
  50.  
  51. =item GetAttributes(filename, returnedAttributes)
  52.  
  53. Gets the attributes of a file or directory. returnedAttributes will be set
  54. to the OR-ed combination of the filename attributes.
  55.  
  56. =item SetAttributes(filename, newAttributes)
  57.  
  58. Sets the attributes of a file or directory. newAttributes must be an OR-ed
  59. combination of the attributes.
  60.  
  61. =back
  62.  
  63. =head1 Constants
  64.  
  65. The following constants are exported by default.
  66.  
  67. =over 10
  68.  
  69. =item ARCHIVE
  70.  
  71. =item COMPRESSED
  72.  
  73. =item DIRECTORY
  74.  
  75. =item HIDDEN
  76.  
  77. =item NORMAL
  78.  
  79. =item OFFLINE
  80.  
  81. =item READONLY
  82.  
  83. =item SYSTEM
  84.  
  85. =item TEMPORARY
  86.  
  87. =back
  88.  
  89. =cut
  90.  
  91. sub AUTOLOAD 
  92. {
  93.     my($constname);
  94.     ($constname = $AUTOLOAD) =~ s/.*:://;
  95.     #reset $! to zero to reset any current errors.
  96.     $!=0;
  97.     my $val = constant($constname);
  98.     if($! != 0)
  99.     {
  100.         if($! =~ /Invalid/)
  101.         {
  102.             $AutoLoader::AUTOLOAD = $AUTOLOAD;
  103.             goto &AutoLoader::AUTOLOAD;
  104.         }
  105.         else 
  106.         {
  107.             ($pack,$file,$line) = caller;
  108.             die "Your vendor has not defined Win32::File macro $constname, used in $file at line $line.";
  109.         }
  110.     }
  111.     eval "sub $AUTOLOAD { $val }";
  112.     goto &$AUTOLOAD;
  113. }
  114.  
  115. bootstrap Win32::File;
  116.  
  117. 1;
  118. __END__
  119.