c:\@Work\Perl\monks>perl -wMstrict -le
"my @db_description=(
'MOVE 3-4 STEPS TO GB FIXTURE', 'WITHIN REACH TO CHECK',
'GET BEAM', 'PUSH/PULL ( >= 30 CM)', 'BEAM 2-3 TIMES',
'MOVE 8-10 STEPS TO HOIST',
);
;;
my @steps_name = ('1-2 Steps', '5-7 Steps', '8-10 Steps', '11-15 Step
+s');
;;
for (my $i = 0; $i < @steps_name; $i++) {
if (grep { /(?i)\Q$steps_name[$i]\E/ } @db_description) {
print qq{'$steps_name[$i]' FOUND};
}
else {
print qq{'$steps_name[$i]' not found};
}
}
"
'1-2 Steps' not found
'5-7 Steps' not found
'8-10 Steps' FOUND
'11-15 Steps' not found
Update: As a general stylistic note, I would recommend a simpler Perl-style for-loop rather than a C-style loop:
c:\@Work\Perl\monks>perl -wMstrict -le
"my @db_description=(
'MOVE 3-4 STEPS TO GB FIXTURE', 'WITHIN REACH TO CHECK',
'GET BEAM', 'PUSH/PULL ( >= 30 CM)', 'BEAM 2-3 TIMES',
'MOVE 8-10 STEPS TO HOIST',
);
;;
my @steps_name = ('1-2 Steps', '5-7 Steps', '8-10 Steps', '11-15 Step
+s');
;;
for my $s_name (@steps_name) {
if (grep { /(?i)\Q$s_name\E/ } @db_description) {
print qq{'$s_name' FOUND};
}
else {
print qq{'$s_name' not found};
}
}
"
'1-2 Steps' not found
'5-7 Steps' not found
'8-10 Steps' FOUND
'11-15 Steps' not found
Not having to worry about index increments, array accesses, off-by-one errors, etc., is helpful.
Give a man a fish: <%-{-{-{-<
|