in reply to loop problem

"...if the value is lower than zero, the program stops..."

Probably your program works as designed?

As our beloved leader already mentioned there is no loop in your program.

As an alternative you can jump to a label:

#!/usr/bin/env perl use strict; use warnings; use feature "say"; use Math::Trig; CALC: { say "What is the radius?"; my $radius = <STDIN>; chomp($radius); if ( $radius == 0 ) { say "circumference= ", $radius; } elsif ( $radius < 0 ) { say "Radius should be greater than 0"; goto CALC; } else { my $a = 2 * pi; my $c = $a * $radius; say "circumference= ", $c; } } __END__

Please note: Some say this style is a bad habit AKA the root of all evil.

Best regards, Karl

«The Crux of the Biscuit is the Apostrophe»

perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help