My work environment is strictly windows based, so I primarily build using ActiveState Perl. Most of what I do are web-based applications and database connections into mySQL, MS SQL server and MS Access. I've also found Perl to be extremely useful for quick and easy data munging tasks, and occasional systems maintainence issues. Perl has even come in handy for a couple of tasks involving Lotus Notes and Domino. For me, Perl lives up to its reputation as being the swiss army knife in my programming toolbox.
I've come up with an interesting dilemma recently that involves .NET programming. I have to automate some data entry into our legacy system and the only scripting tools I have are built around Visual Basic .NET. Part of my task requires that I open a text file, unpack the data and feed it into different parts of the legacy system. It seems almost trivial to do the data work with Perl, but I can't get the legacy system to allow Perl into it's innards. So far, the .NET data manipulation seems cumbersome in comparison and since I'm not an experienced VB programmer I'm having to learn-as-I-go. I've been tempted to somehow drop some kind of Perl wrapper around the VB program, letting Perl do the text processing and then calling the .NET stuff to make the connection to the back end database to deliver the data. Your comments make me think that this idea isn't as crazy as I first thought. Maybe .NET and Perl can play well together?