in reply to how can I learn well
i found it very hard or maybe i am not so clever
Others have given great advise, so let me just add a bit of encouragement:
If you're new to programming, it feels hard at first to everybody, because the computer does exactly what you tell it to, not what you mean.
If you had exposure to other programming languages first, you might find some things in Perl a bit weird at first. Don't worry, when your way of thinking changes a bit, you'll find that many, many things actually make sense in some way.
Like any subject that involves changing your way of thinking it takes a bit of time; no matter how clever someone is, he can't rewire his head in an hour. That's OK, take it slowly and bit by bit. If you're confused, the monastery is a great place to get help from more experienced programmers.