in reply to Re^3: loop problem
in thread loop problem

Regarding your question: if I run the program with the submodule with strict, I get this output:

Variable "$radius" is not imported at circum1.pl line 19. Variable "$radius" is not imported at circum1.pl line 20. Variable "$radius" is not imported at circum1.pl line 23. Variable "$c" is not imported at circum1.pl line 30. Global symbol "$radius" requires explicit package name (did you forget + to declare "my $radius"?) at circum1.pl line 19. Global symbol "$radius" requires explicit package name (did you forget + to declare "my $radius"?) at circum1.pl line 20. Global symbol "$radius" requires explicit package name (did you forget + to declare "my $radius"?) at circum1.pl line 23. Global symbol "$c" requires explicit package name (did you forget to d +eclare "my $c"?) at circum1.pl line 30. Execution of circum1.pl aborted due to compilation errors.
And thank you for answering my question.

Replies are listed 'Best First'.
Re^5: loop problem
by stevieb (Canon) on Jun 12, 2018 at 17:18 UTC

    If you're getting those errors/warnings, then the code you posted isn't the code you're running I don't suspect.

    The only issue that I see with syntax is a missing semi-colon after say "circumference= ", $c

    If that doesn't fix things, please post the actual code you're using.

      The code with the submodule in it gives these errormessages. I ran it again and again.

        Declare the variables outside the subroutine

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

        I do not understand what you mean by "submodule". Again, could you share the code you're speaking of?

        We can help you understand not just how to do the loop, but the issues with the other code you have. Look at it as a learning exercise ;)