Вам необходимо использовать цикл for
(или foreach
).
for my $n (@numbers) { # Loops over @numbers, assigning each to $n
if ( $n % 2 == 0 ) {
print "$n is even"
}
}
Кроме того, это довольно нелогично
my $numbers='23 45 34 12 9 3 56';
chomp $numbers;
my @getnum= (split(/ /, $numbers));
Если у вас есть строка, которую вы хотите разбить на пробел, есть специальный способ сделать это в Perl
split( ' ', $string );
Это разделит на произвольные пробелы (и удалит начальные и конечные пробелы), например.
my @words = split( ' ', ' one two three ' );
# @words is ('one', 'two', 'three')
Но если вы просто жестко кодируете число в самом скрипте, вы можете обойти все вместе split
и использовать синтаксис «цитата-слова»
my @numbers = qw( 23 45 34 12 9 3 56 );
Надеюсь, это поможет.