Hi there, 

I got a wired bug with the following perl script: 

35 # return non-negative value if particular character is in string array 
36 # otherwise, return -1 

sub is_in_string { 
38 # @s: string array, $c: character 
39 # passing array into sub 
40 my @s = @_[0]; my $c = $_[1]; 
41 for my $i (@s) { if ($c eq $i) {return 1} } 
42 return -1; 
43 } 
44 my @ar = qw(t d s); 
45 my $c = "d"; 
46 my $res = &is_in_string( @ar, $c); 
47 print $res; 

I would expect the result to be 1, but whenever the $c changes, this subroutine 
always return -1. 
Can anyone help me out of this? 

Btw, is there any way to search one character against sliced string? I can only 
think of one way as following: 
1. convert string to array with "split" function 
2. search one character against sliced array e.g. array[2..$#array] 

However, if I want to do the above task multiple times, meaning I've to convert 
string into array every time, pain in the ass... 

--- 
Regards !

Alex Chiang 

Reply via email to