in reply to
Learning Perl as a First (programming) language
Personally, Perl was not my first language, so I can't speak to that. What I have run into is someone who, having heard the many wonders of Perl as it relates to other popular languages (C, C++, Java), chose not to learn Perl, but rather to keep it in mind as an ultimate destination.
Admittedly, this person comes from a shell scripting background. Concepts such as variables and looping are not new to him. He had no experience with pointers, memory management, design methodology (procedural, functional, oop), so when I would explain to him why Perl's scalar, array, and hash variable types were so cool, he had no reference point for how painful it could be to implement the same functionality that these provide in a language like C. He chose not to gloss over what seemed to him to be necessary fundamentals by learning Perl first. Instead he is learning C as it relates to system architecture and internals. He has every intention of learning Perl eventually, but would like to learn a lower-level language first so he can understand just how much he's gaining (or losing) when using Perl.
I feel that neither Perl nor C are very good first languages. Both use some very abstract concepts that I think are better learned after you've got the basics of variable types, looping, branching, etc. down. Yes, I think even Perl's wonderful scalar variables are too abstract for a beginner. Understanding how the system stores your data is critical to becoming a good programmer, and Perl tends to make things like that just a little too easy to ignore.