Giter VIP home page Giter VIP logo

exporter-va's Introduction

DESCRIPTION

This is Exporter::VA - Improved Exporter featuring Versioning and Aliasing.

It provides for better exporting capabilities than the traditional Exporter module, including
	- Potential to have no globals.
	- Versioning, or different exports for different versions supported in the same file,
	- especially the ability to eliminate default exports and still maintain backward compatibility.
	- Export hard links or differently-named functions (or variables).
	- Pragmatic exports, with arguments.
	- Special features in import() argument list such as non-scalars.
	- Fully extensible framework for "exotic" import() needs.

The documentation is in the module's POD. 
More information about the module, whitepapers, etc. can be found on its home page, < http://jmd.perlmonk.org/Exporter-VA >.
The latest version can be found there, or on CPAN under < http://www.cpan.org/authors/id/D/DL/DLUGOSZ/ >.

The author hangs out on < http://www.perlmonks.org >, and entertains discussion or questions about the module
there.

Included is the utility Exporter::VA::Convert.perl which will generate Exporter::VA statements from the
equivilent classic Exporter usage.  See it's own POD for details.

COPYRIGHT

Copyright 2003 by John M. Dlugosz. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

PREREQUISITES

None.  This module is intentionaly designed to have no dependancies other than core modules that come
with Perl (e.g. strict, warnings, Carp).

BUILDING

N/A.  This is pure Perl, contained entirely in a .pm file.

INSTALLING

Installing is trivial -- just copy the .pm file to the Perl library tree.  
The ---> install.perl <--- program does this, and runs the unit/regression tests.

The program test1.perl runs a comprehensive unit test and regression test on the module.

You may verify that the module is genuine by checking the digital signatures in the *.sig files.  My master
PGP key has been on my page on www.perlmonks.org for years, and will be archived in various places.

HISTORY

October 2002 - preliminary documentation and design reviews

December 3, 2002 - Basic export works (see test1.perl).  Made available for peer review of code.

v1.0 on December 10, 2002 -
Stable and fairly clean, with unit tests.  Supports everything except version lists.

December 19, 2002 - v1.1 - redid the way VERSION works.
Bug fix: the tag list definition was being eaten.  Exporting the same module again would see it empty!
version-list in export def (but not in tag list) works.

December 22, 2002 - work on VERSION function and docs, version checking, version support routines.
Implement version-list in tag list.

December 23, 2002 - review docs, produce 'issues' list, make install.perl.

v1.2 released.  Supports everything except non-imported alias suite of features.

January 6, 2003 - Exporter-VA-Convert.perl utility, release procedure.

January 9, 2003 - 
	if .default_VERSION left out, assumes current $VERSION.
	installer runs unit tests, rolls back on failure.
	test1.perl has --quiet mode.
	put in more unit testing code.

v1.2.2 released.

January 11, 2003 -
	Installer updates ActivePerl's documentation tree and TOC.
	use utf8;
	implement normalize_vstring, allow it as an export (but not yet in the POD)
	
January 12, 2003 -
	Get standard Makefile.PL to work for test and install, rename files and move test code to t subdir.

v1.2.3 released.

January 13, 2003 -
	implement .allowed_VERSIONS.
	implement one-shot behavior of verbose importing.
	implement warning on importing a symbol beginning with an underscore

January 14, 2003 -
	fix and change to VERSION
	eliminate (set_)client_desired_version

January xx -
	eliminate other items from TODO list
	update POD documentation
	implement "warnings"

January 22, 2003 -
	complete implementation if AUTOLOAD and autoload_symbol features

v1.3 released.

v1.3.0.1 : validated on Perl 5.8, removed stray debug print.

May 17, 2011 -
v.1.3.1.0: remove eval "try" from thunk, as it causes problems with newer versions of Perl.


exporter-va's People

Contributors

jdlugosz avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.