It might be. But if there is more than one way of doing it, running speed is only one of the deciding factors, and often not the most important one. And its importantness rapidly decreases when the running speed difference is small.
But you weren't asking that. You didn't say "This is what I want, which if the following methods is faster" (in which case, you wouldn't have asked, you'd have written a benchmark, right?). Instead you asked an enormously general question, so general, it's almost meaningless.
But I can give you some answers. Read them, and you know how meaningless your question was.
- Avoid doing anything in Perl. Do it in C, bind it with XS to Perl.
- Avoid doing anything. Anything you do cost time, so anything you don't do saves time.
- Don't use regexes. They are slow in the best case, and very slow in the worst case.
- Avoid variables (and values) as much as possible. Each new variable (and often new values as well) causes memory allocation. More memory slows down the program.
- Hashes are slower than arrays.
- ....
Those are answers to your questions. And I'm not making them up, they're all true. But they aren't useful answers - you have a problem you want to solve, and you want to write quality, maintainable code. So, you are going to write it in Perl. And you will use variables. And if the problem calls for it, you will use hashes. And/or regexes.