#!/usr/bin/perl -w use strict; $|=1; my %modules = (); for (qw{ cmd }) { die "dupe mod $_" if $modules{$_}; $modules{$_} = 0; } &check_modules(); exit 0; #### die "never here"; sub check_modules { for my $mod (sort keys %modules) { my $fn = "aura_$mod.pl"; my $ft = $modules{$mod}; my @s = stat($fn); unless (@s) { warn "WARN: cant stat '$fn': $!"; next; } my $mt = $s[9]; if ($mt < $ft) { warn "WARN: back to the history: '$fn'"; } elsif ($ft < $mt) { my $e = eval { do $fn }; if ($@) { warn "WARN: loading '$fn' failed: $@"; } else { $modules{$mod} = $mt; } } else { die "ERR: same not same $ft != $mt" unless $ft == $mt; } } }