<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package Time::localtime;
use strict;
use Time::tm;

use 5.005_64;
our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
BEGIN {
    use Exporter   ();
    @ISA         = qw(Exporter Time::tm);
    @EXPORT      = qw(localtime ctime);
    @EXPORT_OK   = qw(  
			$tm_sec $tm_min $tm_hour $tm_mday 
			$tm_mon $tm_year $tm_wday $tm_yday 
			$tm_isdst
		    );
    %EXPORT_TAGS = ( FIELDS =&gt; [ @EXPORT_OK, @EXPORT ] );
    $VERSION     = 1.01;
}
use vars      @EXPORT_OK;

sub populate (@) {
    return unless @_;
    my $tmob = Time::tm-&gt;new();
    @$tmob = (
		$tm_sec, $tm_min, $tm_hour, $tm_mday, 
		$tm_mon, $tm_year, $tm_wday, $tm_yday, 
		$tm_isdst )
	    = @_;
    return $tmob;
} 

sub localtime (;$) { populate CORE::localtime(@_ ? shift : time)}
sub ctime (;$)     { scalar   CORE::localtime(@_ ? shift : time) } 

1;

__END__

=head1 NAME

Time::localtime - by-name interface to Perl's built-in localtime() function

=head1 SYNOPSIS

 use Time::localtime;
 printf "Year is %d\n", localtime-&gt;year() + 1900;

 $now = ctime();

 use Time::localtime;
 use File::stat;
 $date_string = ctime(stat($file)-&gt;mtime);

=head1 DESCRIPTION

This module's default exports override the core localtime() function,
replacing it with a version that returns "Time::tm" objects.
This object has methods that return the similarly named structure field
name from the C's tm structure from F&lt;time.h&gt;; namely sec, min, hour,
mday, mon, year, wday, yday, and isdst.

You may also import all the structure fields directly into your namespace
as regular variables using the :FIELDS import tag.  (Note that this still
overrides your core functions.)  Access these fields as
variables named with a preceding C&lt;tm_&gt; in front their method names.
Thus, C&lt;$tm_obj-E&lt;gt&gt;mday()&gt; corresponds to $tm_mday if you import
the fields.

The ctime() function provides a way of getting at the 
scalar sense of the original CORE::localtime() function.

To access this functionality without the core overrides,
pass the C&lt;use&gt; an empty import list, and then access
function functions with their full qualified names.
On the other hand, the built-ins are still available
via the C&lt;CORE::&gt; pseudo-package.

=head1 NOTE

While this class is currently implemented using the Class::Struct
module to build a struct-like class, you shouldn't rely upon this.

=head1 AUTHOR

Tom Christiansen
</pre></body></html>