Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.328.519 Times

Tie::HashHistory 0.03

  Date Added: November 18, 2010  |  Visits: 937

Tie::HashHistory

Report Broken Link
Printer Friendly Version


Product Homepage
Download (95 downloads)



Tie::HashHistory can track history of all changes to a tied hash. SYNOPSIS my $hh = tie %hash => Tie::HashHistory, PACKAGE, ARGS...; @values = $hh->history(KEY); Tie::HashHistory interposes itself between your program and another tied hash. Fetching and storing to the hash looks completely normal, but Tie::HashHistory is keeping a record of all the changes to the each key, and can Tie::HashHistory will give you a list of all the values the key has ever had, in chronological order. The arguments to the tie call should be Tie::HashHistory, and then the arguments that you would have given to tie to tie the hash without the history feature. For example, suppose you wanted to store your hash data in an NDBM file named database. Normally, you would say: tie %hash => NDBM_File, database, $flags, $mode; to get this history feature, just add Tie::HashHistory before NDBM_File: my $hh = tie %hash => Tie::HashHistory, NDBM_File, database, $flags, $mode; The data will still be stored in database, and it will still be an NDBM file. All the fetching and storing will look the same, but the change history of each key will be available. The tie call will return an object; to find out the history of a key, use the history method on this object. It takes one argument, which is a key string. It will return a list of all the values that have ever been associated with the key, in chronological order, starting with the most recent. For example: $hash{a} = first; $hash{b} = second; $hash{a} = third; # Overwrites old value # Prints "third second" as you would expect print "$hash{a} $hash{b}n"; @values = $hh->history(a); # @values now contains (third, first) @values = $hh->history(b); # @values now contains (second) At present, if called in scalar context, the history() method will return the number of items in the history. This behavior may change in future versions. The underlying hash can be any tied hash class at all. To use a regular in-memory hash, use Tie::StdHash (distributed with Perl) as the underlying implementation: use Tie::Hash; # *NOT Tie::StdHash* my $hh = tie %hash => Tie::HashHistory, Tie::StdHash; This is not as efficient as it could be because fetches and stores on %hash still go through two layers of tieing. I may fix this in a future release..

Requirements: No special requirements
Platforms: Linux
Keyword: All Changes Hash Hashhistory History History Of Key Libraries Ndbm Stdhash Tie Tied Tiehashhistory Track History Values
Users rating: 0/10

License: Freeware Size: 4.1 KB
USER REVIEWS
More Reviews or Write Review


TIE::HASHHISTORY RELATED
Libraries  -  Tie::ListKeyedHash 1.02
Tie::ListKeyedHash is a system allowing the use of anonymous arrays as keys to a hash. SYNOPSIS use Tie::ListKeyedHash; [$X =] tie %hash, Tie::ListKeyedHash; my $live_key = [key,items,live]; $hash{$live_key} = Hello!;...
16.38 KB  
MP3 Tools  -  IeCacheExplorer 1.5.5
IeCacheExplorer displays the details of all cookies that Internet Explorer stores on your computer and reads all information from the history file on your computer, displays the list of all URLs that you have visited. It also allows you to clear...
510.31 KB  
Misc. Web Browser Tools  -  IEHistoryView 1.22
This utility reads all information from the history file on your computer, and displays the list of all URLs that you have visited with Internet Explorer browser in the last few days. It also allows you to select one or more URL addresses, and...
38 KB  
Utilities  -  Zero Trace 1.0
PC Cleaner, Scans all Cookies, Delete all or select cookies, History Chooser, Deletes IE URL History, Deletes IE Cache History, Deletes Windows Media Player History, Clears Start / Run Menu, Clears Start / Recent Documents, Empties recycle bin,...
237 KB  
Libraries  -  Math::HashSum 0.02
Math::HashSum can sum a list of key-value pairs on a per-key basis. SYNOPSIS use Math::HashSum qw(hashsum); my %hash1 = (a=>.1, b=>.4); my %hash2 = (a=>.2, b=>.5); my %sum = hashsum(%hash1,%hash2); print "$sum{a}n"; # Prints .3 print...
18.43 KB  
Screen Savers  -  All Toolbar Icons for Mac OS 2010.1
All Toolbar Icons is a collection of more than twenty royalty-free icon sets. Including literally thousands of different images, the All Toolbar Icons pack supplies each icon in a variety of sizes, color resolutions, visual states and file...
3 MB  
Audio Tools  -  Cool Free MOV to All Video Converter 6.0
Cool Free MOV to All Video Converter supports the converting of QuickTime MOV to all popular video formats including AVI, MP4, WMV, VCD, SVCD, DVD, 3GP, iPod, iPhone, Zune, Xbox, PMP, PSP, Apple TV, Pocket PC, FLV, SWF video formats. If you get...
10.27 MB  
Development Editors  -  GPix Pixel Ad Script 1. 3. 2006
Advanced settings include, among others, the ability to use interlaced images, temporarily take the site down for maintenance and put it back online when all changes are done, and enable/disable blog comments. Advanced "lasso" feature for pixel...
31 KB  
Security Tools  -  THC-FuzzyFingerprint 0.0.8
Welcome to the world of Fuzzy Fingerprinting, a new technique to attack cryptographic key authentication protocols that rely on human verification of key fingerprints. It is important to note that while fuzzy fingerprinting is an attack against a...
204.8 KB  
Dial-up Networking Tools  -  Netwrix Active Directory Change Reporter 7.508.873
Active Directory change auditing is an important procedure for limiting unauthorized changes and errors to AD configuration. One single change can put your organization at risk, introducing security breaches and compliance issues. Built-in Active...
6.26 MB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB