#!/usr/bin/perl -w
use strict;
my %TZMap = (
sjc => {
TZ1 => 'PST',
TZ2 => 'PDT',
TZFILE => '/usr/share/zoneinfo/America/Los_Angeles',
},
blr => {
TZ1 => 'IST',
TZ2 => 'IST',
TZFILE => '/usr/share/zoneinfo/Asia/Calcutta',
},
);
sub testmap {
my $tz = `/bin/date +%Z`;
chomp($tz);
my $site = `/bin/hostname | cut -d- -f2 | cut -c1-3`;
chomp($site);
my $tzfile = $TZMap{$site}->{TZFILE};
print "$site:" . $TZMap{$site}->{TZ1} . ":" . $TZMap{$site}->{TZ2} . ":$tz\n";
}
testmap();
####
sjc:PST:PDT:PST
####
package MAN::ER::SRole::Base;
use strict;
use base qw(MAN::ER::SRole);
use MAN::ER::SRole;
... code omitted ...
my %TZMap = {
... code omitted ...
};
... code omitted ...
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = $class->SUPER::new();
bless($self, $class);
return $self;
}
... code omitted ...
sub check_timezone {
my ($self) = @_;
my $site = `/bin/hostname | /bin/cut -d- -f2 | /bin/cut -c1-3`;
chomp($site);
my $tz = `/bin/date +%Z`;
chomp($tz);
my $tzfile = $TZMap{$site}->{'TZFILE'};
print Dumper(%TZMap);
print "$site:" . $TZMap{"$site"}{TZ1} . ":" . $TZMap{$site}->{TZ2} . ":$tz\n";
if ( $TZMap{$site}->{TZ1} eq $tz or $TZMap{$site}->{TZ2} eq $tz ) {
$self->log_okay_message( "yada yada\n");
} else {
$self->log_error_message("blah blah\n" );
}
}
sub check {
my ($self) = @_;
$self->clear_result();
$self->_common('check');
$self->ensureprocess($_) foreach @processes;
$self->check_timezone();
}
####
$VAR1 = {
'HASH(0x88eb640)' => undef,
'sjc' => {}
};
sjc:::PST