
use strict 'vars';

my $now = time();
for my $n (0..10) {
  my $time = $now + $n * 54321;
  my $the_time = localtime($time);
  print "The time $the_time is ";
  unless (is_working_time($time)) { print "not "; }
  print "during working hours.\n";
}

print "Result for default argument: ";
my $result = is_working_time();
print "$result\n";

sub is_working_time {
  my $time = shift;
  $time = time() unless defined $time;
  my ($sc,$mi,$hr,$dy,$mo,$yr,$wd) = localtime($time);
  return 0 if $wd == 0;         # Sunday
  return 0 if $wd == 6;         # Saturday
  return 0 if $hr < 9;          # 9 AM
  return 0 if $hr >= 17;        # 5 PM
  if ($wd == 5) {               # Friday
    if ($hr >= 15) {            # 3 PM
      return 0;                 # Nobody does any work on Friday after 3 PM
    }
  }
  return 1;                     # Otherwise, it is work hours
}
