in reply to Re: FR Config Sanity Checking
in thread FR Config Sanity Checking

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>"; } }
amt.

perlcheat

Replies are listed 'Best First'.
Re^3: FR Config Sanity Checking
by hsinclai (Deacon) on Oct 05, 2004 at 20:23 UTC
    Double check $fn is what you think it is..

    In your second question, the data structure is not what you think it is.. probably you have to dereference it to find out what is in
    hash (HASH0x...)
    Better yet use Data::Dumper here.. it'll show you what you've got.