sub rindex_substr { my ( $string, ) = @_; my %pos; for my $x ( qw( B C f ) ) { $pos{$x} = rindex($string,$x); } my $replace = ( sort { $pos{$b} <=> $pos{$a} } keys %pos )[0]; substr( $string, $pos{$replace}, 1 ) = "K"; return $string; }