Quotesub m11 { $in1 =~ /\Q$sb/i }
sub m12 { $in1 =~ /$sb/i }
sub m22 { index( lc($in1) , $sb ) }
die Methode m12 ist immer die schnellste, egal wie lang der String ist und egal an welcher Stelle das Matching stattfindet. Ich wäre davon ausgegangen das index am schnellsten ist. m12 zu m11 unterscheiden sich ca. in 10% was ich auch unlogisch finde, da der Inhalt ja nicht mehr interpretiert werden muss.
Du machst bei m22 ein "lc" das kostet ganz ordentlich Zeit, da der gesamte String in dem gesucht wird durchlaufen werden und kopiert werden muss.