I'm afraid I take issue with several of your points:
Java, on the other hand, is a completely different type of programming language, in that it's object-orientated. That doesn't mean that Perl and Java couldn't solve a given problem, but it just means that there are some things Java could do better than Perl, and vice versa.
A) I don't think you can call any language 'object oriented'. OO is a design style, not a function of the language. You can write OO code in C and write procedural code in java. Granted in general it's much easier to write OO in java and procedural in C, but it doesn't make C a 'procedural language' or java an OO language.
B) Perl has just as many OO'ish features as java does, you could write every single thing as a class if you wanted to. (Well, except for a line that looked like package main; new module;
C) If you really wanted to find the differences you should note that java is a much lower level/stricter programming language, meaning that you have to manually deal with datatypes such as int or char, and once you declare something an int it stays an int and so on. (lets not get in to scalar datatypes, or object inheritance issues). Java has a number of other differences but I find that to be the most important one.
ASP, atleast in my somewhat limited understanding, is a frame work for CGI type applications that allows a number of different languages access to a number of basic methods and data, such as form data and session handling (I think). It also lets these different languages work together much closer then without it, passing datastructures back and forth and so on (Again, I think).