use Time::Local qw/timegm_nocheck/; my $date_string = "2005301"; # The 301st day of 2005 my ($year,$julian_day) = $date_string =~ /^(\d\d\d\d)(\d\d\d)$/; my $gmt = timegm_nocheck 0,0,0,$julian_day,0,$year; # ... do something with the gmt value