2015-01-11 4 views
-1

, Работа над сравнением всех элементов массива с одним символом.perl сравнить массивные элементы с одиночным charater

chomp($letter=<STDIN>); 

$i=0; 

for($i=0;$i<$length:$i++){ 
    if(@selectword[$i]==$letter) 
      { 
      print("Match\n"); 
      } 
      else 
      { 
      print("No Match\n"); 
      } 
     } 
} 

в настоящее время не работает с массивом, установленным в качестве теста выхода

match 
match 
match 
match 

независимо от введенной буквы.

+0

Что означает «не работает» * означает? Код, который вы опубликовали, даже не компилируется. Вы должны опубликовать свой * реальный код *, а не вводить пример из памяти. – Borodin

+0

Функция сравнения не работает, она просто выводит –

ответ

2

Как я уже говорил, Perl, что вы выложили это долгий путь от даже компиляции, но похоже, что вы можете что-то вроде этого

use strict; 
use warnings; 

my @selectword =(); # Initialise with real data 

chomp (my $letter = <>); 

for my $i (0 .. $#selectword) { 
    if ($selectword[$i] eq $letter) { 
     print("Match\n"); 
    } 
    else { 
     print("No Match\n"); 
    } 
} 
0

Я думаю, что вы не вставили всю программу. , но, глядя на часть кода, вы, вероятно, должны использовать оператор равенства строк для сравнения букв «eq» в строке if (@selectword [$ i] == $ letter) вместо «==», который предназначен для числового сравнения ,

Смежные вопросы