With
CSS Naked Day fast approaching, I thought I’d add to the code snippets posted by Dustin Diaz with a quick bit of Perl, based on his PHP example.
Without further ado, here is the snippet:
use Time:Local;
sub _is_naked_day() {
my ($start, $end, $now, $d);
$d = shift;
$start = timelocal(0, 0, 0, $d, 3, ((localtime)[5]));
$end = timelocal(59, 59, 23, $d, 3, ((localtime)[5]));
$now = time();
if ( $now >= $start && $now = $end ) return(1);
else return(0);
}
This subroutine could then be used to display template content like so:
unless ( (&_is_naked_day(9)) ) print qq^<link rel="stylesheet" type="text/css" href="/path/to/styles.css" />^;
Caveats: I haven’t accounted for time zone differences, the concept of an international day (taking a 12 hour slice on either side of GMT) and the
JSON config file that Dustin provided in 2008 (which I just found).
I’ll write a Perl module to handle this all in a more usable fashion and post it up after work later today.