I don't know which class of problems you've solved with PDL that requires C knowledge, but I've been using PDL for many years and have very rarely needed to do any coding in C (and then only when working on extremely compute intensive problems). I've worked with a number of people with little or no knowledge of coding outside of Perl who have very successfully used PDL to solve complex problems. In my experience, knowledge of C is definitely not a prerequisite.
You do have to parse the documentation, but there's a very helpful community of users that can point you in the right direction. Matrix questions pop up on the users mailing list often; see http://pdl.perl.org/maillists/