.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Warp 3pm" .TH Warp 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Time::Warp \- control over the flow of time .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use Time::Warp qw(scale to time); \& \& to(time + 5); # 5 seconds ahead \& scale(2); # make time flow twice normal .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" Our external experience unfolds in 3 1/2 dimensions (time has a dimensionality of 1/2). The Time::Warp module offers developers control over the measurement of time. .SH API .IX Header "API" .IP \(bu 4 to($desired_time) .Sp The theory of relativity asserts that all physical laws are enforced relative to the observer. Since the starting point of time is arbitrary, it is permissible to change it. This has the effect of making it appear as if time is moving forwards or backward instanteously. For example, on some types of operating systems time starts at Wed Dec 31 19:00:00 1969 (this will likely change as we approach 2030 and with the acceptance of 64\-bit CPUs). .Sp .Vb 1 \& to(time + 60*60); # 1 hour ahead .Ve .IP \(bu 4 scale($factor) .Sp Changes the speed at which time is progressing. .Sp .Vb 1 \& scale(scale * 2); # double the speed of time .Ve .Sp Note that it is not possible to stop time or cause it to reverse since this is forbidden by the second law of thermodynamics. .SH "ALSO SEE" .IX Header "ALSO SEE" Time::HiRes and Event. .SH SUPPORT .IX Header "SUPPORT" Please direct your insights or complaints to perl\-loop@perl.org. .SH DISCLAIMER .IX Header "DISCLAIMER" THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THIS IS NOT A TIME MACHINE. THIS MODULE CANNOT BE USED TO VIOLATE THE SECOND LAW OF THERMODYNAMICS. .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright © 1999, 2000 Joshua Nathaniel Pritikin. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.