hsinclai, this is the beginning of my "taint" function, I think I don't have the same types of scalars for $remotestat and the stat the i get back from the local stat.
sub is_config_new {
my $fn = shift;
my %hosts = { '192.168.1.243' => 0 };
my ($host,$taint);
# Probe remote hosts for freshness
foreach $host (keys %hosts){
my $remotestat = qx! sudo ssh $host 'perl -e "print ((
+stat(qq~$fn~))[9]);"'!;
if( $remotestat != ((stat(qq~$fn~))[9]) ) {
$hosts{$host} = 0; } else { $hosts{$host} = 1;
+ }
}
foreach $host (keys %hosts) { if( !$hosts{$host} ) { $taint =
+1; } }
if( $taint == 1 ) {
# print a conflict page
} else { return; } # return to proceed with config
Also when the conflict page is written, it's outputting the memory value for the hash (HASH0x...), that code section is this:
foreach $host (keys %hosts){
print "<tr><td>$host</td>";
if ( $hosts{$host} ) {
print "<td align=center><img src=/nagios/image
+s/greendot2.gif border=0></td></tr>";
} else {print "<td align=center><img src=/nagios/image
+s/reddot.gif border=0></td></tr>"; }
}
|