adding more thorough and flexible possiblity to perl datetime