Main > Free Download Search >

Free file shrinker software for linux

file shrinker

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 172
Get File 1.2.2

Get File 1.2.2


Get File is a Firefox extension that can get a file from an URL. more>>
Get File is a Firefox extension that can get a file from an URL.

To use this extension, go in File menu and choose "Get a File".

Ive also developed a french freeware for supervision of your computer.

http://www.pastouchexp.info/

<<less
Download (0.014MB)
Added: 2007-07-09 License: MPL (Mozilla Public License) Price:
875 downloads
ProGuard 3.9 / 4.0 Beta

ProGuard 3.9 / 4.0 Beta


ProGuard is a Java class file shrinker and obfuscator. more>>
ProGuard is a free Java class file shrinker, optimizer, and obfuscator. ProGuard project can detect and remove unused classes, fields, methods, and attributes. It can then optimize bytecode and remove unused instructions.
Finally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
More compact jar files also means smaller storage requirements, faster transfer of applications across networks, faster loading, and smaller memory footprints.
ProGuards main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient. For instance, the following configuration option preserves all applets in a jar:
-keep public class * extends java.applet.Applet
The user manual explains all available options and shows more examples of this powerful configuration style.
ProGuard is fast. It only takes seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications.
ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant and for the J2ME Wireless Toolkit.
ProGuard is a Java class file shrinker, optimizer, and obfuscator. The shrinking step detects and removes unused classes, fields, methods, and attributes. The optimization step analyzes and optimizes the bytecode of the methods. The obfuscation step renames the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
ProGuard can also be used to list unused fields and methods in an application, and to print out the internal structure of class files.
ProGuard typically reads the input jars (or wars, ears, zips, or directories). It then shrinks, optimizes, and obfuscates them. It then writes the results to one or more output jars (or wars, ears, zips, or directories). The input jars can optionally contain resource files. ProGuard copies all non-class resource files from the input jars to the output jars. Their names and contents remain unchanged.
ProGuard requires the library jars (or wars, ears, zips, or directories) of the input jars to be specified. It can then reconstruct class hierarchies and other class dependencies, which are necessary for proper shrinking, optimization, and obfuscation. The library jars themselves always remain unchanged. You should still put them in the class path of your final application.
In order to determine which code has to be preserved and which code can be discarded or obfuscated, you have to specify one or more entry points to your code. These entry points are typically classes with main methods, applets, midlets, etc.
- In the shrinking step, ProGuard starts from these seeds and recursively determines which classes and class members are used. All other classes and class members are discarded.
- In the optimization step, ProGuard further optimizes the code. Among other optimizations, classes and methods that are not entry points can be made final, and some methods may be inlined.
- In the obfuscation step, ProGuard renames classes and class members that are not entry points. In this entire process, keeping the entry points ensures that they can still be accessed by their original names.
Any classes or class members of your code that are created or invoked dynamically (that is, by name) have to be specified as entry points too. It is generally impossible to determine these cases automatically, but ProGuard will offer some suggestions if keeping some classes or class members appears necessary. For proper results, you should at least be somewhat familiar with the code that you are processing.
ProGuard does handle Class.forName("SomeClass") and SomeClass.class constructs automatically. The referenced classes are preserved in the shrinking phase, and the string arguments are properly replaced in the obfuscation phase. With variable string arguments, it is generally impossible to determine their possible values (they might be read from a configuration file, for instance).
However, as mentioned, ProGuard will note constructs like "(SomeClass)Class.forName(variable).newInstance()". These might be an indication that the class or interface SomeClass and/or its implementations may need to be preserved. You can then adapt your configuration accordingly.
Whats New in 3.9 Stable Release:
- This release fixes a number of bugs.
- Notably, ".class" constructs compiled in Java 6 are now handled correctly.
- The optimization step now avoids a possible division by 0 and correctly processes local variables with indices larger than 255.
- The documentation and examples have been updated.
Whats New in 4.0 Beta Development Release:
- Added preverifier for Java 6 and Java Micro Edition, with new option -dontpreverify.
- Added new option -target to modify java version of processed class files.
- Made -keep options more orthogonal and flexible, with option modifiers allowshrinking, allowoptimization, and allowobfuscation.
- Added support for configuration by means of annotations.
- Improved shrinking of unused annotations.
- Added check on modification times of input and output, to avoid unnecessary processing, with new option -forceprocessing.
- Added new options -flattenpackagehierarchy and -repackageclasses (replacing -defaultpackage) to control obfuscation of packages names.
- Added new options -adaptresourcefilenames and -adaptresourcefilecontents, with file filters, to update resource files corresponding to obfuscated class names.
- Now respecting naming rule for nested class names (EnclosingClass$InnerClass) in obfuscation step, if InnerClasses attributes or EnclosingMethod attributes are being kept.
- Added new inter-procedural optimizations: method inlining and propagation of constant fields, constant arguments, and constant return values.
- Added optimized local variable allocation.
- Added over 250 new peephole optimizations.
- Improved making classes and class members public or protected.
- Now printing notes on suspiciously unkept classes in parameters of specified methods.
- Now printing notes for class names that dont seem to be fully qualified.
- Added support for uppercase filename extensions.
- Rewritten class file I/O code.
- Updated documentation and examples.
<<less
Download (MB)
Added: 2007-06-27 License: GPL (GNU General Public License) Price:
905 downloads
File Beamer 0.1.5

File Beamer 0.1.5


File Beamer is an easy to use file transfer tool. more>>
File Beamer is an easy to use file transfer tool. The programm is platform independent. That means it runs with Windows 98/ME/2000/XP, Linux, Unix and MacOS X.

This is made possible by using Trolltechs Qt Library which provides an easy to use GUI toolkit, networking functions and a lot more.

File Beamer is free open source software and was released under the GPL license.

Usage:

Receiving files:

Click the "Receive" tab
If the receiver is behind a firewall or router, check "reverse connection" and enter the senders IP or host name. *
Click the "listen" button. The client can now receive files
When receving a file, a "Save as" dialog appears. Choose a place to safe the file.

Sending files:

Click the "Send" tab
If the receiver is behind a firewall or router check "reverse connection" *
Else input the target IP address or host name and port
Select a file to send either by typing the path or by clicking the "..." button
Click the "Send" button (target must be in listen mode)
<<less
Download (2.8MB)
Added: 2005-11-08 License: GPL (GNU General Public License) Price:
1578 downloads
W3T URL Shrinker 0.2

W3T URL Shrinker 0.2


w3t.org URL Shrinker is a small url generator via right-click. more>>
w3t.org URL Shrinker is a small url generator via right-click. When you want to share a long URL (like on many news articles), just right-click on the page you want to link to and choose "Shorten this URL"; and youll get a super-short URL to use that forwards to the longer one.

The site now includes the ability to use custom URL "tags" like "ff" as in http://w3t.org/?c=ff The next version of the extension should include this new site feature.

<<less
Download (0.038MB)
Added: 2007-05-09 License: MPL (Mozilla Public License) Price:
905 downloads
lxDVDshrink 0.3

lxDVDshrink 0.3


lxDVDshrink let you squeeze and backup your original DVDs to cheap one-layer DVD medium. more>>
lxDVDshrink let you squeeze and backup your original DVDs to cheap one-layer DVD medium.

lxDVDshrink is fastnsimple DVD shrinker. It supports multi-title processing, arbitrary audio and subtitle tracks selection and, most of all, its a CONSOLE application! The recent gDVDshrink will become part of this package soon...

<<less
Download (0.017MB)
Added: 2006-11-16 License: GPL (GNU General Public License) Price:
1073 downloads
File::Find 5.8.8

File::Find 5.8.8


File::Find is a Perl module to traverse a directory tree. more>>
File::Find is a Perl module to traverse a directory tree.

SYNOPSIS

use File::Find;
find(&wanted, @directories_to_search);
sub wanted { ... }

use File::Find;
finddepth(&wanted, @directories_to_search);
sub wanted { ... }

use File::Find;
find({ wanted => &process, follow => 1 }, .);

These are functions for searching through directory trees doing work on each file found similar to the Unix find command. File::Find exports two functions, find and finddepth. They work similarly but have subtle differences.

find

find(&wanted, @directories);
find(%options, @directories);

find() does a depth-first search over the given @directories in the order they are given. For each file or directory found, it calls the &wanted subroutine. (See below for details on how to use the &wanted function). Additionally, for each directory found, it will chdir() into that directory and continue the search, invoking the &wanted function on each file or subdirectory in the directory.

finddepth

finddepth(&wanted, @directories);
finddepth(%options, @directories);

finddepth() works just like find() except that is invokes the &wanted function for a directory after invoking it for the directorys contents. It does a postorder traversal instead of a preorder traversal, working from the bottom of the directory tree up where find() works from the top of the tree down.

<<less
Download (12.2MB)
Added: 2007-04-26 License: Perl Artistic License Price:
913 downloads
File::Data 1.12

File::Data 1.12


File::Data is a Perl module as a interface to file data. more>>
File::Data is a Perl module as a interface to file data.

Wraps all the accessing of a file into a convenient set of calls for reading and writing data, including a simple regex interface.

Note that the file needs to exist prior to using this module!

See new()

SYNOPSIS

use strict;

use File::Data;

my $o_dat = File::Data->new(./t/example);

$o_dat->write("complete file contentsn");

$o_dat->prepend("first linen"); # line 0

$o_dat->append("original second (last) linen");

$o_dat->insert(2, "new second linen"); # inc. zero!

$o_dat->replace(line, LINE);

print $o_dat->READ;

Or, perhaps more seriously :-}

my $o_sgm = File::Data->new(./sgmlfile);

print "new SGML data: ".$o_sgm->REPLACE(
s*((?s).*)s* ,
qq| key="val" |,
) if $o_sgm;

See METHODS and EXAMPLES.

IMPORTANT

lowercase method calls return the object itself, so you can chain calls.

my $o_obj = $o_dat->read; # ! READ; # !<<less
Download (0.013MB)
Added: 2007-04-26 License: Perl Artistic License Price:
914 downloads
File::Flock 104.111901

File::Flock 104.111901


File::Flock is a Perl module for file locking with flock. more>>
File::Flock is a Perl module for file locking with flock.

SYNOPSIS

use File::Flock;

lock($filename);

lock($filename, shared);

lock($filename, undef, nonblocking);

lock($filename, shared, nonblocking);

unlock($filename);

my $lock = new File::Flock /somefile;

lock_rename($oldfilename, $newfilename)

Lock files using the flock() call. If the file to be locked does not exist, then the file is created. If the file was created then it will be removed when it is unlocked assuming its still an empty file.

Locks can be created by newing a File::Flock object. Such locks are automatically removed when the object goes out of scope. The unlock() method may also be used.

lock_rename() is used to tell File::Flock when a file has been renamed (and thus the internal locking data that is stored based on the filename should be moved to a new name). unlock() the new name rather than the original name.

<<less
Download (0.006MB)
Added: 2007-04-26 License: Perl Artistic License Price:
911 downloads
File::Basename 5.8.8

File::Basename 5.8.8


File::Basename is a Perl module to parse file paths into directory, filename and suffix. more>>
File::Basename is a Perl module to parse file paths into directory, filename and suffix.

SYNOPSIS

use File::Basename;

($name,$path,$suffix) = fileparse($fullname,@suffixlist);
$name = fileparse($fullname,@suffixlist);

$basename = basename($fullname,@suffixlist);
$dirname = dirname($fullname);

These routines allow you to parse file paths into their directory, filename and suffix.

NOTE: dirname() and basename() emulate the behaviours, and quirks, of the shell and C functions of the same name. See each functions documentation for details. If your concern is just parsing paths it is safer to use File::Specs splitpath() and splitdir() methods.

It is guaranteed that

# Where $path_separator is / for Unix, for Windows, etc...
dirname($path) . $path_separator . basename($path);

is equivalent to the original path for all systems but VMS.

fileparse
my($filename, $directories, $suffix) = fileparse($path);
my($filename, $directories, $suffix) = fileparse($path, @suffixes);
my $filename = fileparse($path, @suffixes);

The fileparse() routine divides a file path into its $directories, $filename and (optionally) the filename $suffix.

$directories contains everything up to and including the last directory separator in the $path including the volume (if applicable). The remainder of the $path is the $filename.

# On Unix returns ("baz", "/foo/bar/", "")
fileparse("/foo/bar/baz");

# On Windows returns ("baz", "C:foobar", "")
fileparse("C:foobarbaz");

# On Unix returns ("", "/foo/bar/baz/", "")
fileparse("/foo/bar/baz/");

If @suffixes are given each element is a pattern (either a string or a qr//) matched against the end of the $filename. The matching portion is removed and becomes the $suffix.

# On Unix returns ("baz", "/foo/bar", ".txt")
fileparse("/foo/bar/baz", qr/.[^.]*/);

If type is non-Unix (see fileparse_set_fstype()) then the pattern matching for suffix removal is performed case-insensitively, since those systems are not case-sensitive when opening existing files.

You are guaranteed that $directories . $filename . $suffix will denote the same location as the original $path.

basename
my $filename = basename($path);
my $filename = basename($path, @suffixes);

This function is provided for compatibility with the Unix shell command basename(1). It does NOT always return the file name portion of a path as you might expect. To be safe, if you want the file name portion of a path use fileparse().

basename() returns the last level of a filepath even if the last level is clearly directory. In effect, it is acting like pop() for paths. This differs from fileparse()s behaviour.

# Both return "bar"
basename("/foo/bar");
basename("/foo/bar/");

@suffixes work as in fileparse() except all regex metacharacters are quoted.

# These two function calls are equivalent.
my $filename = basename("/foo/bar/baz.txt", ".txt");
my $filename = fileparse("/foo/bar/baz.txt", qr/Q.txtE/);

Also note that in order to be compatible with the shell command, basename() does not strip off a suffix if it is identical to the remaining characters in the filename.

dirname

This function is provided for compatibility with the Unix shell command dirname(1) and has inherited some of its quirks. In spite of its name it does NOT always return the directory name as you might expect. To be safe, if you want the directory name of a path use fileparse().

Only on VMS (where there is no ambiguity between the file and directory portions of a path) and AmigaOS (possibly due to an implementation quirk in this module) does dirname() work like fileparse($path), returning just the $directories.

# On VMS and AmigaOS
my $directories = dirname($path);

When using Unix or MSDOS syntax this emulates the dirname(1) shell function which is subtly different from how fileparse() works. It returns all but the last level of a file path even if the last level is clearly a directory. In effect, it is not returning the directory portion but simply the path one level up acting like chop() for file paths.

Also unlike fileparse(), dirname() does not include a trailing slash on its returned path.

# returns /foo/bar. fileparse() would return /foo/bar/
dirname("/foo/bar/baz");

# also returns /foo/bar despite the fact that baz is clearly a
# directory. fileparse() would return /foo/bar/baz/
dirname("/foo/bar/baz/");

# returns .. fileparse() would return foo/
dirname("foo/");

Under VMS, if there is no directory information in the $path, then the current default device and directory is used.

fileparse_set_fstype
my $type = fileparse_set_fstype();
my $previous_type = fileparse_set_fstype($type);

Normally File::Basename will assume a file path type native to your current operating system (ie. /foo/bar style on Unix, foobar on Windows, etc...). With this function you can override that assumption.

Valid $types are "MacOS", "VMS", "AmigaOS", "OS2", "RISCOS", "MSWin32", "DOS" (also "MSDOS" for backwards bug compatibility), "Epoc" and "Unix" (all case-insensitive). If an unrecognized $type is given "Unix" will be assumed.
If youve selected VMS syntax, and the file specification you pass to one of these routines contains a "/", they assume you are using Unix emulation and apply the Unix syntax rules instead, for that function call only.

<<less
Download (12.2MB)
Added: 2007-04-25 License: Perl Artistic License Price:
912 downloads
File::Attributes 0.04

File::Attributes 0.04


File::Attributes is a Perl module to manipulate file metadata. more>>
File::Attributes is a Perl module to manipulate file metadata.

SYNOPSIS

use File::Attributes qw(set_attribute list_attributes get_all_attributes);

my $file = foo.txt;
set_attribute($file, type => text/plain);
set_attribute($file, encoding => utf8);

my @attributes = list_attributes($file);
# @attributes = qw(type encoding)

%attributes = get_attributes($file);
# $attributes{type} will be text/plain
# $attributes{foo} will be undefined.

File::Attributes is a wrapper around modules in the File::Attributes hierarchy. If you use this module directly (instead of one of the aforementioned decendants), then your attribute manipulations will Just Work, regardless of the underlying filesystem.

Module::Pluggable is used to find all File::Attributes:: modules that inherit from File::Attributes::Base and that are applicable on your system. If it finds one, it uses that. If not, it uses File::Attributes::Simple, which is bundled with this module and works everywhere.

As of version 0.04, plugins are now set up per-file, not per-system. This means that if you have File::Attributes::Extended installed, extended attributes will be used where available, but Simple attributes will be used on files where extended attributes dont work (a FAT filesytem on a Linux machine, for example). Existing simple attributes will be read even if extended attributes are available, but writes will affect only the extended attributes.

This means that you can switch to a better attribute plugin at any time, without losing any old data!

<<less
Download (0.030MB)
Added: 2007-04-25 License: Perl Artistic License Price:
912 downloads
File::Backup 0.07

File::Backup 0.07


File::Backup is a Perl module for easy file backup & rotation automation. more>>
File::Backup is a Perl module for easy file backup & rotation automation.

SYNOPSIS

use File::Backup;

backup( from => "/source/path", to => "/destination/path" );
backup( from => "/kansas/*", to => "/oz" );

purge_backups(
to => "/destination/path",
compress => 0,
keep => 5,
timeformat => "YYYYMMDD_hhmmss",
);

This legacy module implements archival and compression (A.K.A "backup") and file rotation and is an implementation of tar and gzip calls.

<<less
Download (0.008MB)
Added: 2007-04-25 License: Perl Artistic License Price:
913 downloads
File::Listing 5.805

File::Listing 5.805


File::Listing is a Perl module to parse directory listing. more>>
File::Listing is a Perl module to parse directory listing.

SYNOPSIS

use File::Listing qw(parse_dir);
for (parse_dir(`ls -l`)) {
($name, $type, $size, $mtime, $mode) = @$_;
next if $type ne f; # plain file
#...
}

# directory listing can also be read from a file
open(LISTING, "zcat ls-lR.gz|");
$dir = parse_dir(*LISTING, +0000);

This module exports a single function called parse_dir(), which can be used to parse directory listings. Currently it only understand Unix ls -l and ls -lR format. It should eventually be able to most things you might get back from a ftp server file listing (LIST command), i.e. VMS listings, NT listings, DOS listings,...
The first parameter to parse_dir() is the directory listing to parse. It can be a scalar, a reference to an array of directory lines or a glob representing a filehandle to read the directory listing from.

The second parameter is the time zone to use when parsing time stamps in the listing. If this value is undefined, then the local time zone is assumed.
The third parameter is the type of listing to assume. The values will be strings like unix, vms, dos. Currently only unix is implemented and this is also the default value. Ideally, the listing type should be determined automatically.
The fourth parameter specifies how unparseable lines should be treated. Values can be ignore, warn or a code reference. Warn means that the perl warn() function will be called. If a code reference is passed, then this routine will be called and the return value from it will be incorporated in the listing. The default is ignore.

Only the first parameter is mandatory.

The return value from parse_dir() is a list of directory entries. In a scalar context the return value is a reference to the list. The directory entries are represented by an array consisting of [ $filename, $filetype, $filesize, $filetime, $filemode ]. The $filetype value is one of the letters f, d, l or ?. The $filetime value is the seconds since Jan 1, 1970. The $filemode is a bitmask like the mode returned by stat().

<<less
Download (0.23MB)
Added: 2007-04-26 License: Perl Artistic License Price:
911 downloads
File::Basename::Object 0.01

File::Basename::Object 0.01


File::Basename::Object is a Perl module with object-oriented syntax sugar for File::Basename. more>>
File::Basename::Object is a Perl module with object-oriented syntax sugar for File::Basename.

SYNOPSIS

my $file = File::Basename::Object->new("/path/to/a/file.html", ".htm", ".html");

if(open(my $fh, basename, "n";
...
}

if($file == "/another/path/to/file.htm") {
print "$file shares its base name with /another/path/to/file.htmn";
}

File::Basename::Object is an object-oriented wrapper around File::Basename. The goal is to allow pathnames to be presented and manipulated easily.
A File::Basename::Object stringifies to its full canonical pathname, so it can be used in open(), etc. without any trouble. When compared as a string (cmp, ne, eq, etc), its full canonical pathname is compared. When compared using numeric operators (==, !=, etc), the files base name is compared instead. Some methods are also provided:

<<less
Download (0.004MB)
Added: 2007-04-25 License: Perl Artistic License Price:
915 downloads
File::Remote 1.17

File::Remote 1.17


File::Remote is a Perl module to read/write/edit remote files transparently. more>>
File::Remote is a Perl module to read/write/edit remote files transparently.

SYNOPSIS

#
# Two ways to use File::Remote
#
# First, the function-based style. Here, we can use the
# special :replace tag to overload Perl builtins!
#
use File::Remote qw(:replace); # special :replace tag

# read from a remote file
open(REMOTE, "host:/remote/file") or die $!;
print while (< REMOTE >);
close(REMOTE);

# writing a local file still works!
open(LOCAL, ">>/local/file");
print LOCAL "This is a new line.n";
close(LOCAL);

mkdir("host:/remote/dir", 0755);
unlink("host:/remote/file");
unlink("/local/file"); # still works too!
symlink("host:/remote/src", "host:/remote/dest");

chown("root", "other", "host:/remote/dir/file");
chmod(0600, "host:/remote/dir/file");

#
# Next, the object-oriented style, if you dont want to
# mess with the builtins.
#
use File::Remote;
my $remote = new File::Remote;

# Standard filehandles
$remote->open(FILE, ">>host:/remote/file") or die $!;
print FILE "Heres a line thats added.n";
$remote->close(FILE);

# Create a new file and change its permissions
$remote->mkdir("host:/remote/dir");
$remote->touch("host:/remote/dir/file");

# Move files around
$remote->copy("/local/file", "host:/remote/file") or warn $!;
$remote->move("host:/remote/file", "/local/file");

# Read and write whole files
my @file = $remote->readfile("host:/remote/file");
$remote->writefile("/local/file", @file);

# Backup a file with a suffix
$remote->backup("host:/remote/oldfile", "save");

# Use secure connection methods
my $secure = new File::Remote (rsh => "/usr/local/bin/ssh",
rcp => "/usr/local/bin/scp");
$secure->unlink("/local/file");
$secure->rmdir("host:/remote/dir");

This module takes care of dealing with files regardless of whether theyre local or remote. It allows you to create and edit files without having to worry about their physical location on the network. If a file passed into a function is of the form host:/path/to/file, then File::Remote uses rsh/rcp (or ssh/scp, depending on how you configure it) to edit the file remotely. Otherwise, it assumes the file is local and passes calls directly through to Perls core functions.

The nice thing about this module is that you can use it for all your file calls, since it handles both remote and local files transparently. This means you dont have to put a whole bunch of checks for remote files in your code. Plus, if you use the function-oriented interface along with the :replace tag, you can actually redefine the Perl builtin file functions. This means that your existing Perl scripts can automatically handle remote files with no re-engineering(!).

<<less
Download (0.015MB)
Added: 2007-04-27 License: Perl Artistic License Price:
911 downloads
File::Signature 1.009

File::Signature 1.009


File::Signature is a Perl module to detect changes to a files content or attributes. more>>
File::Signature is a Perl module to detect changes to a files content or attributes.

SYNOPSIS

use File::Signature;
my $sig = File::Signature->new(/some/file);

# If you have a stringified signature stored in $string
# you can create a File::Signature object from it.
my $sig = File::Signature->new_from_string($string);

if (my $err = $sig->error) {
warn $err, "n";
}
# You can use a signature object to re-check the same file.
if ( $sig->is_same() ) { print "Ok. The signature is the same.n" }
if ( $sig->changed() ) { print "Uh Oh! The signature has changed.n" }

my @digests = $sig->old_and_new(digest);
my @inodes = $sig->old_and_new(ino);
my @modes = $sig->old_and_new(mode);
my @uid = $sig->old_and_new(uid);
my @gid = $sig->old_and_new(gid);
my @mtime = $sig->old_and_new(mtime);

# A slightly more worthwhile use...
my @fields = $sig->changed();
for my $field (@fields) {
printf "$field was: %s but changed to %s.n",
$sig->old_and_new($field);
}

ABSTRACT

This perl library uses perl5 objects to assist in determining whether a files contents or attributes have changed. It maintains several pieces of information about the file: a digest (currently only MD5 is supported), its inode number, its mode, the uid of its owner, the gid of its group owner, and its last modification time. A File::Signature object is closely associated with a single pathname. It provides a way to compare the state of a file over different points in time; it isnt useful for comparing different files.

This module provides a way to monitor files for changes. It implements an object oriented interface to file "signatures." In the case of this module, a signature includes an MD5 digest (other digests may be added later), the files size, its inode number, its mode, its owners uid, its groups gid, and its mtime. This information is associated with a file by the files "pathname." The pathname is considered to be the files unique identifier. In reality, a file may have more than one pathname, but this module doesnt recognize that.

It will simply treat two differing pathnames as two different files, even if they refer to the same file. As this module checks whether a file changes over time, a minimal use of it would include the time when the signature was created and a different time when the signature is regenerated and compared with the previous one. The amount of time between these checks is arbitrary. This module makes it easy to save a signature object and then load it and check for consistency at a later time, whether seconds or years have passed.

<<less
Download (0.008MB)
Added: 2007-04-30 License: Perl Artistic License Price:
909 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5