2015-01-11 166 views
-1

,將數組的所有元素與單個字符進行比較。perl將數組元素與單個字符進行比較

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),而不是用於數字比較的「==」 。

相關問題