Вы выбрали не лучший способ использовать метку для goto
.
Вместо этого l oop будет более подходящим для выполнения пользовательского ввода. Пользователь остается в l oop до тех пор, пока он / она не укажет, что он / она готов уйти.
Пользовательский ввод также должен быть удален с символа новой строки \n
, прежде чем его можно будет использовать для сравнения.
Поскольку пользователь предполагает вводить данные несколько раз, было бы целесообразно использовать небольшую подпрограмму для печати «подсказки ввода», сбора ввода, удаления символа новой строки и возврата значения ввода. Таким образом, программа становится короче и легче для чтения.
Операция сравнения строк выполняется с eq
, сравнение чисел с ==
.
use strict;
use warnings;
use feature 'say';
my $answer = 'y';
while( $answer eq 'y' ) {
my $num_1 = get_input('Enter variable num_1: ');
my $num_2 = get_input('Enter variable num_2: ');
my $compare = $num_1 == $num_2 ? 'EQUIAL' : 'NOT EQUIAL';
say "\nNumbers are $compare\n";
$answer = get_input('Would you like to continue? (y/n) ');
$answer = lc $answer;
say '-' x 35;
}
sub get_input {
my $msg = shift;
my $input;
print $msg;
$input = <>;
chomp $input;
return $input;
}