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.
A) Oh, I think you can. An OO language is one that supports object oriented
semantics at the language level. Java does, C does not. I will agree that
one can program in either an OO or procedural style in either language, but
that doesn't make Java more procedural nor C more OO.
C) I also agree that Java's meaningful differences from Perl have nothing to
do with OO. But 'static' vs 'dynamic', comes to mind.