Badger::Codec::Timestamp
use Badger::Codec::Timestamp; use Badger::Timestamp 'Now'; my $codec = Badger::Codec::Timestamp->new(); my $encoded = $codec->encode(Now); my $decoded = $codec->decode($encoded);
This module implements a subclass of Badger::Codec for encoded and decoding timestamps using the Badger::Timestamp module. It is trivially simple, existing only to provide a consistent API with other Badger::Codec modules. It is typically used as a codec for reading and writing timestamps to and from a file via the Badger::Filesystem modules.
use Badger::Filesystem 'File'; use Badger::Timestamp 'Now'; my $stamp = Now; # current data/time my $file = File( 'example.ts', # filename { codec => 'timestamp' } # specify timestamp codec ); # write timestamp to file $file->data($stamp); # read timestamp from file $stamp = $file->data;
Encodes the timestamp passed as an argument. The argument can be a Badger::Timestamp object
or any of the constructor parameters accepted by Badger::Timestamp. The following
example demonstrates how this works in principle, although it should be
noted that it's completely pointless in practice. It is sufficient to
simply call Now->timestamp
to serialise a Badger::Timestamp to text without
the need for any codec module (in fact, that's all the
encode()
method does behind the scenes).
use Badger::Timestamp 'Now'; $encoded = Badger::Codec::Timestamp->encode(Now);
Decodes the encoded timestamp passed as the first argument. Returns a Badger::Timestamp object.
Andy Wardley http://wardley.org/