Data::Postponed::Forever - Recompute values as needed to use post facto changes to input variables


NAME

Data::Postponed::Forever - Recompute values as needed to use post facto changes to input variables


SYNOPSIS

Example using postpone_forever()

 use Data::Postpone 'postpone_forever';
 
 %functions = ( foobar => 'foo' );
 
 $code = "sub " . postpone_forever( $functions{foobar} ) . " { return time }";
 $functions{foobar} = "baz";
 
 # Reflects the new name of 'bar' instead of 'foo';
 print $code;
 
 # Continues to reflect changes to the input variables
 $functions{foobar} = "quux";
 print $code;

Example using the OO

 use Data::Postponed;
 
 %functions = ( foobar => 'foo' );
 
 $code = "sub " . Data::Postponed::Forever->new( $functions{foobar} ) . " { return time }";
 $functions{foobar} = "baz";
 
 # Reflects the new name of 'bar' instead of 'foo';
 print $code;
 
 # Continues to reflect changes to the input variables
 $functions{foobar} = "quux";
 print $code;


DESCRIPTION

The value of expressions that have had postpone_forever called on them always reflect the current value of their input variables.


METHODS

Data::Postponed::Forever->new( EXPR )

Returns a new overloaded object bound to whatever was passed in as the EXPR.

Overridden methods

None. This is raw Data::Postponed.


SEE ALSO

the Data::Postponed manpage, the Data::Postponed::OnceOnly manpage, the Data::Postponed::Once manpage, the overload manpage

This is pretty near identical to the "Really symbolic calculator" mentioned in the overload manpage.

This is also really just Yet Another Templating Engine in disguise. Corion pointed this out to me. If you have a value which always results in the value of "Hello $firstname, ... Regards, $sender" you could certainly just change the value of $firstname as needed and thus generate template driven strings.


AUTHOR

Joshua ben Jore, <jjore@cpan.org>


BUGS

Please report any bugs or feature requests to bug-data-postponed@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


ACKNOWLEDGEMENTS

Corion of perlmonks.org


COPYRIGHT & LICENSE

Copyright 2005 Joshua ben Jore, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.