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

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Tar - module for manipulation of tar archives.</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Tar - module for manipulation of tar archives.</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#changes">CHANGES</A></LI>
  26. </UL>
  27. <!-- INDEX END -->
  28.  
  29. <HR>
  30. <P>
  31. <H1><A NAME="name">NAME</A></H1>
  32. <P>Tar - module for manipulation of tar archives.</P>
  33. <P>
  34. <HR>
  35. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  36. <UL>
  37. <LI>Linux</LI>
  38. <LI>Solaris</LI>
  39. <LI>Windows</LI>
  40. </UL>
  41. <HR>
  42. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  43. <PRE>
  44.   use Archive::Tar;</PRE>
  45. <PRE>
  46.   $tar = Archive::Tar->new();
  47.   $tar->read("origin.tar.gz",1);
  48.   $tar->add_files("file/foo.c", "file/bar.c");
  49.   $tar->add_data("file/baz.c","This is the file contents");
  50.   $tar->write("files.tar");</PRE>
  51. <P>
  52. <HR>
  53. <H1><A NAME="description">DESCRIPTION</A></H1>
  54. <P>This is a module for the handling of tar archives.</P>
  55. <P>At the moment these methods are implemented:</P>
  56. <DL>
  57. <DT><STRONG><A NAME="item_new"><CODE>new()</CODE></A></STRONG><BR>
  58. <DD>
  59. Returns a new Tar object. If given a filename as an argument, it will
  60. try to load that as a tar file. If given a true value as a second
  61. argument, will assume that the tar file is compressed, and will
  62. attempt to read it using <A HREF="../../../site/lib/Compress/Zlib.html">the Compress::Zlib manpage</A>.
  63. <P></P>
  64. <DT><STRONG><A NAME="item_add_files"><CODE>add_files(@filenamelist)</CODE></A></STRONG><BR>
  65. <DD>
  66. Takes a list of filenames and adds them to the in-memory archive. 
  67. I suspect that this function will produce bogus tar archives when 
  68. used under MacOS, but I'm not sure and I have no Mac to test it on.
  69. <P></P>
  70. <DT><STRONG><A NAME="item_add_data"><CODE>add_data($filename,$data,$opthashref)</CODE></A></STRONG><BR>
  71. <DD>
  72. Takes a filename, a scalar full of data and optionally a reference to
  73. a hash with specific options. Will add a file to the in-memory
  74. archive, with name <CODE>$filename</CODE> and content <CODE>$data</CODE>. Specific options
  75. can be set using <CODE>$opthashref</CODE>, which will be documented later.
  76. <P></P>
  77. <DT><STRONG><A NAME="item_remove"><CODE>remove(@filenamelist)</CODE></A></STRONG><BR>
  78. <DD>
  79. Removes any entries with names matching any of the given filenames
  80. from the in-memory archive. String comparisons are done with <CODE>eq</CODE>.
  81. <P></P>
  82. <DT><STRONG><A NAME="item_read"><CODE>read('file.tar',$compressed)</CODE></A></STRONG><BR>
  83. <DD>
  84. Try to read the given tarfile into memory. If the second argument is a
  85. true value, the tarfile is assumed to be compressed. Will <EM>replace</EM>
  86. any previous content in <CODE>$tar</CODE>!
  87. <P></P>
  88. <DT><STRONG><A NAME="item_write"><CODE>write('file.tar',$compressed)</CODE></A></STRONG><BR>
  89. <DD>
  90. Will write the in-memory archive to disk. If no filename is given,
  91. returns the entire formatted archive as a string, which should be
  92. useful if you'd like to stuff the archive into a socket or a pipe to
  93. gzip or something. If the second argument is true, the module will try
  94. to write the file compressed.
  95. <P></P>
  96. <DT><STRONG><A NAME="item_data"><CODE>data()</CODE></A></STRONG><BR>
  97. <DD>
  98. Returns the in-memory archive. This is a list of references to hashes,
  99. the internals of which is not currently documented.
  100. <P></P>
  101. <DT><STRONG><A NAME="item_extract"><CODE>extract(@filenames)</CODE></A></STRONG><BR>
  102. <DD>
  103. Write files whose names are equivalent to any of the names in
  104. <CODE>@filenames</CODE> to disk, creating subdirectories as neccesary. This
  105. might not work too well under VMS and MacOS.
  106. <P></P>
  107. <DT><STRONG><A NAME="item_list_files"><CODE>list_files()</CODE></A></STRONG><BR>
  108. <DD>
  109. Returns a list with the names of all files in the in-memory archive.
  110. <P></P>
  111. <DT><STRONG><A NAME="item_get_content"><CODE>get_content($file)</CODE></A></STRONG><BR>
  112. <DD>
  113. Return the content of the named file.
  114. <P></P>
  115. <DT><STRONG><A NAME="item_replace_content"><CODE>replace_content($file,$content)</CODE></A></STRONG><BR>
  116. <DD>
  117. Make the string $content be the content for the file named $file.
  118. <P></P></DL>
  119. <P>
  120. <HR>
  121. <H1><A NAME="changes">CHANGES</A></H1>
  122. <DL>
  123. <DT><STRONG><A NAME="item_Version_0%2E071">Version 0.071</A></STRONG><BR>
  124. <DD>
  125. Minor release.
  126. <P>Arrange to <A HREF="../../../lib/Pod/perlfunc.html#item_chmod"><CODE>chmod()</CODE></A> at the very end in case it makes the file readonly.
  127. Win32 is actually picky about that.</P>
  128. <P>SunOS 4.x tar makes tarfiles that contain directory entries
  129. that don't have typeflag set properly.  We use the trailing
  130. slash to recognize directories in such tarfiles.</P>
  131. <P></P>
  132. <DT><STRONG><A NAME="item_Version_0%2E07">Version 0.07</A></STRONG><BR>
  133. <DD>
  134. Fixed (hopefully) broken portability to MacOS, reported by Paul J.
  135. Schinder at Goddard Space Flight Center.
  136. <P>Fixed two bugs with symlink handling, reported in excellent detail by
  137. an admin at teleport.com called Chris.</P>
  138. <P>Primive tar program (called ptar) included with distribution. Useage
  139. should be pretty obvious if you've used a normal tar program.</P>
  140. <P>Added methods get_content and replace_content.</P>
  141. <P>Added support for paths longer than 100 characters, according to
  142. POSIX. This is compatible with just about everything except GNU tar.
  143. Way to go, GNU tar (use a better tar, or GNU cpio).</P>
  144. <P>NOTE: When adding files to an archive, files with basenames longer
  145.       than 100 characters will be silently ignored. If the prefix part
  146.       of a path is longer than 155 characters, only the last 155
  147.       characters will be stored.</P>
  148. <P></P>
  149. <DT><STRONG><A NAME="item_Version_0%2E06">Version 0.06</A></STRONG><BR>
  150. <DD>
  151. Added <A HREF="#item_list_files"><CODE>list_files()</CODE></A> method, as requested by Michael Wiedman.
  152. <P>Fixed a couple of dysfunctions when run under Windows NT. Michael
  153. Wiedmann reported the bugs.</P>
  154. <P>Changed the documentation to reflect reality a bit better.</P>
  155. <P>Fixed bug in format_tar_entry. Bug reported by Michael Schilli.</P>
  156. <P></P>
  157. <DT><STRONG><A NAME="item_Version_0%2E05">Version 0.05</A></STRONG><BR>
  158. <DD>
  159. Quoted lots of barewords to make <CODE>use strict;</CODE> stop complaining under
  160. perl version 5.003.
  161. <P>Ties to <A HREF="../../../site/lib/Compress/Zlib.html">the Compress::Zlib manpage</A> put in. Will warn if it isn't available.</P>
  162. <P>$tar-><A HREF="#item_write"><CODE>write()</CODE></A> with no argument now returns the formatted archive.</P>
  163. <P></P>
  164. <DT><STRONG><A NAME="item_Version_0%2E04">Version 0.04</A></STRONG><BR>
  165. <DD>
  166. Made changes to write_tar so that Solaris tar likes the resulting
  167. archives better.
  168. <P>Protected the calls to <A HREF="../../../lib/Pod/perlfunc.html#item_readlink"><CODE>readlink()</CODE></A> and symlink(). AFAIK this module
  169. should now run just fine on Windows NT.</P>
  170. <P>Add method to write a single entry to disk (extract)</P>
  171. <P>Added method to add entries entirely from scratch (add_data)</P>
  172. <P>Changed name of <CODE>add()</CODE> to <CODE>add_file()</CODE></P>
  173. <P>All calls to <CODE>croak()</CODE> removed and replaced with returning undef and
  174. setting Tar::error.</P>
  175. <P>Better handling of tarfiles with garbage at the end.</P>
  176. </DL>
  177. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  178. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  179. <STRONG><P CLASS=block> Tar - module for manipulation of tar archives.</P></STRONG>
  180. </TD></TR>
  181. </TABLE>
  182.  
  183. </BODY>
  184.  
  185. </HTML>
  186.