if ($text =~ /^([-.!]time\s*(.*))/ && $target eq "#testing123") { my $input = $1; my @data = split / /, $2; $flag = 0; if (is_valid_time($data[0])) { $server->command("msg #testing123 Your time of $data[0] is |" . time_to_secs($data[0]) . "| seconds"); $flag = 1; } if (!$flag) { $server->command("msg #testing123 Your input of $input is invalid"); } } sub is_valid_time { if ($_[0] =~ /^\d\d?\d?(:\d\d?)?(:\d\d?)?(\.\d\d?)?$/) { return 1 } } sub time_to_secs { my @parts = split /:/, $_[0]; if (!$#parts) { return $parts[0]; } if ($#parts == 1) { return $parts[0] * 60 + $parts[1]; } if ($#parts == 2) { return $parts[0] * 3600 + $parts[1] * 60 + $parts[2]; } }