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(); }