in reply to Re: Re: Time to seconds
in thread Time to seconds
So much for readability and maintainability though.my %time_value = ( d => 86400, h => 3600, m => 60, s => 1 ); sub string_to_time { my ($time) = @_; my $value = 0; map { $value += $1*$time_value{$_} if ($time =~ s/(\d+)$_//) } + sort keys %time_value; return ($value && !length $time)? $value : undef; } sub time_to_string { my ($time) = @_; my $value = ''; (defined $time && $time > 0) || return undef; map { $value .= int($time/$time_value{$_}).$_ and $time %= $ti +me_value{$_} if ($time > $time_value{$_})} sort keys %time_value; return $value; }
|
|---|