#!/usr/bin/env perl use strict; use warnings; use feature 'say'; use constant PI => 4 * atan2 1, 1; say 'Type radius (>=0) or just hit Return to exit.'; while (1) { print 'Radius: '; chomp(my $radius = <>); last unless length $radius; if ($radius =~ /^[+-]?(?:\d+|\d*[.]\d+)$/) { if ($radius < 0) { say "Radius [$radius] is less than zero. Try again."; next; } say 'Circumference: ', 2 * PI * $radius; } else { say "Invalid radius [$radius]. Try again."; next; } }