perlquestion
matt.tovey
This is somewhat embarassing, since I'm sure the answer to this question is to be found in many good perl books. But I suspect the answer is probably pretty simple to someone who has the "perl mentality", so I'm hoping your replies will aid me in gaining said mentality.
I used to program Tcl, and since changing to perl, often find myself wanting an 'lsearch' function. I tend to add it so:
<CODE>
sub lsearch {
my $item = shift;
my @array = @_;
foreach (0..$#array) {
if ($item eq $array[$_]) {
return $_;
}
}
return "";
}
# Want to remove $item from @list
unless (my $index = lsearch($item, @list) eq "") {
splice(@list, $index, 1);
}
</CODE>
I think that in some cases where I used to use 'lsearch', I could now be using 'grep', but what do you do when you want the index of an item in your list? Or do you just program to avoid such cases?