Perl may not be an ideal first language, but I don't think such a thing -- "ideal first language" -- exists. Perl is as good a place to start as any. The way I see it, the advantages of starting with Perl would be:
- It's an actual useful language used in the real-world (unlike BASIC and Pascal), so you can feel like you're doing something worthwhile. I know I don't like to learn things that are only useful for learning -- feels like a waste.
- It supports many different styles of programming, so you can learn things a piece at a time. Structured, object-oriented, functional, you can do it all in Perl, to some extent.
Possible downsides, but non-fatal:
- Some Perl features are ad-hoc, arbitrary, and thoroughly wrongheaded (e.g., global variables like $[). However, it shouldn't be too hard to avoid these features. You wouldn't be interested in them as a beginner anyways.
- A lot of Perl code out there is unreadable and bad. Just take Perl examples you find on the internet with a grain of salt. Don't automatically assume something you see is good Perl code. Then you'll be fine.