, do you have a FORTRAN background by any chance?
For the benefit of others on this forum, FORTRAN is like Basic and no strict, in that you do not have to declare variables. However, variables beginning [I-M] are automatically declared integer, whereas ones beginning with the other letters of the alphabet are automatically real.
This I believe is where your i,j,k and m,n come from. As for s and t, strings were a latecomer to FORTRAN.
Back to the subject of perl, my beliefs are that it should be obvious from looking at the code what your variable is.
I don't have an issue with single char loop variables (apart from $a and $b of course), but generally, variables should be given meaningful names. Also, I like using underscores, as I have done much programming in languages and on operating systems without case sensitivity. I have been bitten may times writing code with variables $fooBar, $FooBar and $foobar, whereas $foo_bar wins every time for me.