1use strict; 2package Time::Warp; 3use vars qw(@ISA @EXPORT_OK $VERSION); 4require Exporter; 5require DynaLoader; 6@ISA = qw(DynaLoader Exporter); 7@EXPORT_OK = qw(reset to scale time); 8$VERSION = '0.54'; 9 10__PACKAGE__->bootstrap($VERSION); 11 12install_time_api(); 13 141; 15__END__ 16 17=encoding utf8 18 19=head1 NAME 20 21Time::Warp - control over the flow of time 22 23=head1 SYNOPSIS 24 25 use Time::Warp qw(scale to time); 26 27 to(time + 5); # 5 seconds ahead 28 scale(2); # make time flow twice normal 29 30=head1 DESCRIPTION 31 32Our external experience unfolds in 3 1/2 dimensions (time has a 33dimensionality of 1/2). The Time::Warp module offers developers 34control over the measurement of time. 35 36=head1 API 37 38=over 4 39 40=item * to($desired_time) 41 42The theory of relativity asserts that all physical laws are enforced 43relative to the observer. Since the starting point of time is 44arbitrary, it is permissible to change it. This has the effect of 45making it appear as if time is moving forwards or backward 46instanteously. For example, on some types of operating systems time 47starts at Wed Dec 31 19:00:00 1969 (this will likely change as we 48approach 2030 and with the acceptance of 64-bit CPUs). 49 50 to(time + 60*60); # 1 hour ahead 51 52=item * scale($factor) 53 54Changes the speed at which time is progressing. 55 56 scale(scale * 2); # double the speed of time 57 58Note that it is not possible to stop time or cause it to reverse since 59this is forbidden by the second law of thermodynamics. 60 61=back 62 63=head1 ALSO SEE 64 65L<Time::HiRes> and L<Event>. 66 67=head1 SUPPORT 68 69Please direct your insights or complaints to perl-loop@perl.org. 70 71=head1 DISCLAIMER 72 73THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED 74WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 75MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THIS IS NOT A 76TIME MACHINE. THIS MODULE CANNOT BE USED TO VIOLATE THE SECOND LAW OF 77THERMODYNAMICS. 78 79=head1 COPYRIGHT 80 81Copyright © 1999, 2000 Joshua Nathaniel Pritikin. All rights reserved. 82This program is free software; you can redistribute it and/or modify 83it under the same terms as Perl itself. 84 85=cut 86