diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/timestamp.pl | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/timestamp.pl b/scripts/timestamp.pl new file mode 100755 index 000000000..f6b06bc7f --- /dev/null +++ b/scripts/timestamp.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl +use strict; + +sub get_ts($) { + my $path = shift; + my $ts = 0; + open FIND, "find $path -not -path \\*.svn\\* -and -not -path \\*CVS\\* |"; + while (<FIND>) { + open FILE, "<$_"; + my @stat = stat FILE; + close FILE; + $ts = $stat[9] if ($stat[9] > $ts); + } + close FIND; + return $ts; +} + +(@ARGV > 0) or push @ARGV, "."; +my $ts = 0; +my $n = "."; +my %options; +foreach my $path (@ARGV) { + if ($path =~ /^-/) { + $options{$path} = 1; + } else { + my $tmp = get_ts($path); + if ($tmp > $ts) { + $n = $path; + $ts = $tmp; + } + } +} + +if ($options{"-p"}) { + print "$n\n"; +} elsif ($options{"-t"}) { + print "$ts\n"; +} else { + print "$n\t$ts\n"; +} |