Its exactly what I was looking for. Although I understand the piece where you concatenate the string "COMMENT ;" to the existing lines after filtering unwanted lines, what is the logic that you are using to filter the lines that start with PKZIP,Copyright and Viewing?
There's no trick. Just find the line that contains "Length" and process those thereafter, so a sed run will do the same trick.
But a warning though. The routine will not notice if the command fails for whatever reason. Maybe you will want to check $? (if pkzipc obeys so) for return value, e.g.
As a sidenote, did you try the Archive::Zip module (of course you will need to download and install it)? It seems to let you retrieve such information programmatically:
When i run my perl/tk script, a perl window pops up behind the GUI window,, can this be hidden????
Also, can the Icon be changed, the Tk icon in every window??? (1 Reply)
If I use 2 system commands in a script, will one finish before the next one starts? or will it start the first and the second at the same time?
i.e.
system("ps | grep rminer");
system("ls -al | grep 431"); (1 Reply)
I copy and paste from the book but this thing is not working.
I cannot figure out what is wrong with myline 9.. can someone please tell me
# cat ./sort4.pl
#!/usr/bin/perl -w
use strict;
use warnings;
my $input = shift;
my $output = shift;
open(IN, '<', $input) or die... (4 Replies)
Below program, I do not get why item I am looking for is , instead of .
When I do $#text, i get the right value for $value1, but when I do , i get somsething4, instead of
somsethingxxxxxxxxxxxxxxxxxxx(which is what I am looking for.
when I do , I get empty.. why? what did I do wrong? can you... (2 Replies)
I fail to see how below answer is 1? can someone explain this for me?
DB<3> $string = "The cat sat on the mat";
DB<4> $animal = ($string =~ m/The (.*) sat/);
DB<5> print $animal;
1 (2 Replies)
I have a question regarding bulding a hash from a file which has below pattern
I thought I could write something like this but clearly my syntax is way off
$/ = "\n\n";
$" = "\n";
open(FILE, file1) || die;
my %keymaster = ( );
while (<FILE>) {
my $topinfo =~... (5 Replies)
I am reading a file in perl script .. during the debug the $linein value is :
linein : +ASM1,sys,||¬ |3Æqúoü;”ט||
from this line I am getting the tmepuser and password from above :
($tmpuser, $pwd) = ($linein =~ /^$server\s*,\s*(+)\s*,\|\|(.+)\|\|/sm);
I am getting $tmpuser and... (2 Replies)
Hello all,
I have the following line:
xxx|xxxx|xxxx|xxx.xx|xxx
And i insert the values in an array. I am trying to find out if the field of the array (where field=xxx.xx) has the '.' character.
I am using the code below but it doesn't seem to work.
if($field=~ /./)
{
... (3 Replies)
Hello everybody, I am new at the forum and a total newbie when it comes to Unix.
I am trying to see how I can add the ability to kill a user's processes?
I want to add this to my Shel Script Add the code/process into a subroutine.
Also, I would like to use an array to store the list... (0 Replies)
Discussion started by: kinelisch
0 Replies
LEARN ABOUT MOJAVE
archive::zip::memberread
Archive::Zip::MemberRead(3) User Contributed Perl Documentation Archive::Zip::MemberRead(3)NAME
Archive::Zip::MemberRead - A wrapper that lets you read Zip archive members as if they were files.
SYNOPSIS
use Archive::Zip;
use Archive::Zip::MemberRead;
$zip = Archive::Zip->new("file.zip");
$fh = Archive::Zip::MemberRead->new($zip, "subdir/abc.txt");
while (defined($line = $fh->getline()))
{
print $fh->input_line_number . "#: $line
";
}
$read = $fh->read($buffer, 32*1024);
print "Read $read bytes as :$buffer:
";
DESCRIPTION
The Archive::Zip::MemberRead module lets you read Zip archive member data just like you read data from files.
METHODS
Archive::Zip::Member::readFileHandle()
You can get a "Archive::Zip::MemberRead" from an archive member by calling "readFileHandle()":
my $member = $zip->memberNamed('abc/def.c');
my $fh = $member->readFileHandle();
while (defined($line = $fh->getline()))
{
# ...
}
$fh->close();
Archive::Zip::MemberRead->new($zip, $fileName)
Archive::Zip::MemberRead->new($zip, $member)
Archive::Zip::MemberRead->new($member)
Construct a new Archive::Zip::MemberRead on the specified member.
my $fh = Archive::Zip::MemberRead->new($zip, 'fred.c')
setLineEnd(expr)
Set the line end character to use. This is set to
by default except on Windows systems where it is set to
. You will only need
to set this on systems which are not Windows or Unix based and require a line end different from
. This is a class method so call as
"Archive::Zip::MemberRead"->"setLineEnd($nl)"
rewind()
Rewinds an "Archive::Zip::MemberRead" so that you can read from it again starting at the beginning.
input_record_separator(expr)
If the argument is given, input_record_separator for this instance is set to it. The current setting (which may be the global $/) is
always returned.
input_line_number()
Returns the current line number, but only if you're using "getline()". Using "read()" will not update the line number.
close()
Closes the given file handle.
buffer_size([ $size ])
Gets or sets the buffer size used for reads. Default is the chunk size used by Archive::Zip.
getline()
Returns the next line from the currently open member. Makes sense only for text files. A read error is considered fatal enough to
die. Returns undef on eof. All subsequent calls would return undef, unless a rewind() is called. Note: The line returned has the
input_record_separator (default: newline) removed.
getline( { preserve_line_ending => 1 } )
Returns the next line including the line ending.
read($buffer, $num_bytes_to_read)
Simulates a normal "read()" system call. Returns the no. of bytes read. "undef" on error, 0 on eof, e.g.:
$fh = Archive::Zip::MemberRead->new($zip, "sreeji/secrets.bin");
while (1)
{
$read = $fh->read($buffer, 1024);
die "FATAL ERROR reading my secrets !
" if (!defined($read));
last if (!$read);
# Do processing.
....
}
AUTHOR
Sreeji K. Das <sreeji_k@yahoo.com>
See Archive::Zip by Ned Konz without which this module does not make any sense!
Minor mods by Ned Konz.
COPYRIGHT
Copyright 2002 Sreeji K. Das.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.18.2 2014-01-08 Archive::Zip::MemberRead(3)