| Gitalist documentation | Contained in the Gitalist distribution. |
Gitalist::Utils - trivial utils for Gitalist
Turns an integer number of seconds into a string.
Check whether a string is binary according to -B.
See Gitalist for authors.
See Gitalist for the license.
| Gitalist documentation | Contained in the Gitalist distribution. |
package Gitalist::Utils; use strict; use warnings; use Exporter qw/import/; our @EXPORT_OK = qw/ age_string /; sub age_string { my $age = shift; my $age_str; if ( $age > 60 * 60 * 24 * 365 * 2 ) { $age_str = ( int $age / 60 / 60 / 24 / 365 ); $age_str .= " years ago"; } elsif ( $age > 60 * 60 * 24 * ( 365 / 12 ) * 2 ) { $age_str = int $age / 60 / 60 / 24 / ( 365 / 12 ); $age_str .= " months ago"; } elsif ( $age > 60 * 60 * 24 * 7 * 2 ) { $age_str = int $age / 60 / 60 / 24 / 7; $age_str .= " weeks ago"; } elsif ( $age > 60 * 60 * 24 * 2 ) { $age_str = int $age / 60 / 60 / 24; $age_str .= " days ago"; } elsif ( $age > 60 * 60 * 2 ) { $age_str = int $age / 60 / 60; $age_str .= " hours ago"; } elsif ( $age > 60 * 2 ) { $age_str = int $age / 60; $age_str .= " min ago"; } elsif ( $age > 2 ) { $age_str = int $age; $age_str .= " sec ago"; } else { $age_str .= " right now"; } return $age_str; } sub is_binary { my($str) = @_; open my $fh, '<', \$str or return; return -B $fh; } 1; __END__