Recently I have accepted a great opportunity to start working for a big web company in The Netherlands. In the process I have adopted Perl as a language of choice, leaving behind “mainstream” and “hot” languages and tools, such as .NET and Java. Also, I have moved from safety of software service consultant role into the complexities of live systems serving real live users around the world.
To put things into perspective when working in Perl ecosystem, thing is that there is no preferred tool set. Everybody does things their own way. The goal is that code gets written, and it hopefully compiles and works!
Now for the good part. Mostly there is no need to setup or declare anything, just write your program and it works right away. Types are not very extensive. There is a ‘string’, a ‘number’, ‘list’ and ‘hash’. Errors happen rarely. Unwanted behavior happens a bit more often, because in Perl there is magical ‘undef’, but mostly it is easy to track down what is going on. It is overall very productive because of this. A large amount of libraries is written for almost everything you would need, and it is hosted on single resource site called CPAN.
Working with linux is great experience, especially from perl. Most system commands are supported as native perl commands, and for others there are libraries which can be used. Invoking external commands is used very much, at least in my use-cases, which brings into the experience of linux system and perl scripts being almost as one.
The general impression of perl is mostly ‘low-level’, because of working in plain editor and putting code to work with no or very little ‘safety net’. But challenge is thus greater and putting something together which works is even more rewarding.