in reply to sub fails second time called
Solution using grep:
#!/usr/bin/env perl use warnings; use strict; sub member { my $item = shift; my @list = @_; if (grep {$_ eq $item} @list) { return 1; } else { return 0; } } my @x = (0,1,3); print member(2,@x),"\n"; # not in list print member(0,@x),"\n"; # 1st item in list print member(2,@x),"\n"; # not in list, again
Solution using the any function in List::MoreUtils:
#!/usr/bin/env perl use warnings; use strict; use List::MoreUtils qw(any); sub member { my $item = shift; my @list = @_; return (any {$_ eq $item} @list) + 0; } my @x = (0,1,3); print member(2,@x),"\n"; # not in list print member(0,@x),"\n"; # 1st item in list print member(2,@x),"\n"; # not in list, again
Both print out:
0 1 0
|
|---|