#!/usr/local/bin/perl use strict; use warnings; use Time::Local; use Math::BigFloat lib => 'GMP'; my $maxdigits = shift || 1000; my $pi = Math::BigFloat->bpi($maxdigits) . ''; $pi =~ s/3\./3/; for my $d ( 0 .. $maxdigits - 10) { my ( $mo, $dd, $hh, $mm, $ss ) = map { substr( $pi, $d + $_ * 2, 2 ) } ( 0 .. 4 ); eval { my $time = timelocal( $ss, $mm, $hh, $dd, $mo - 1, 100 ); }; next if $@; print "$mo$dd $hh:$mm:$ss \@$d\n"; }