Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Hello Mr. Muskrat and thanks for your reply.

I didn't have the code that I tried and I tried so many things that I decided to start from scratch... ;-)

Anyway I have tried your answer and first of all, it doesn't really answer the question because I was asking about selectively extract from one Zip and copy the files into another Zip. Which mean that I do not know yet what the file list is.

Based on your example and trying to remember what I did before, here is the code that I came up with:

use strict; use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); my $oldfile = ''; my $newfile = ''; my $oldzip = Archive::Zip->new(); $oldzip->read($oldfile) == AZ_OK or die 'read error'; my $newzip = Archive::Zip->new(); # Getting the list of selected files my @FileMembers123 = $oldzip->membersMatching("123.*\.xml"); foreach my $file (@FileMembers123) { $oldzip->extractMember($file); $newzip->addFile($file); } $newzip->writeToFileNamed( $newfile ) == AZ_OK or die 'error somewhere +';

When I try to execute this code, I have this error message:

Can't call method "desiredCompressionLevel" on an undefined value at c:/perl/lib/Archive/Zip/ line 249

When I try to print the content of the array @FileMembers123, this is what I get:


It seems that I cannot get the file names using the command my @FileMembers123 = $oldzip->membersMatching("123.*\.xml");.

If I could generate the list of the files (using a matching pattern) in my old Zip without unzipping it, it would probably work.

Thanks again!

In reply to Re^2: Archive::Zip - How to selectively copy files from one archive to another one? by Gigabyte1907
in thread Archive::Zip - How to selectively copy files from one archive to another one? by Gigabyte1907

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [Corion]: Hi Discipulus!
    [marto]: hopefully you guys are also well :)
    [Corion]: marto: Yeah - I'm looking for a week off in a week, even if it'll be a trip to Amsterdam ;)
    [Discipulus]: oh thanks, i'm always at well as the ratchet or bucket
    [Corion]: But I'm slowly starting to get into programming again - yesterday I translated my talk for YAPC::E (in Amsterdam) to English, and decided to put my Jekyll-clone to rest for the time being
    [Corion]: Discipulus++ # being well is like being earnest
    [marto]: hopefully next year I'll be in a position to go to Perly things in Europe :)
    [Corion]: Maybe I'll use the Real Jekyll a bit to get a feel for how it actually works, and to get annoyed by it ;)
    [Corion]: marto: That would be cool :) There is no kids care at Perly events unfortunately, so it's not entirely family friendly
    [Corion]: I think I should define a set of (say) five projects through which I rotate from time to time, just to prevent myself from being bored/annoyed by the problems they get stuck in ;)

    How do I use this? | Other CB clients
    Other Users?
    Others perusing the Monastery: (5)
    As of 2017-07-27 07:39 GMT
    Find Nodes?
      Voting Booth?
      I came, I saw, I ...

      Results (404 votes). Check out past polls.