I use VB.NET and C# for building web applications for a local government agency. I have found that it is a very good model for building web apps. I can only assume that building windows guis in VB.NET will be just as good. I make this assumption because the web model has been designed to mirror the Windows gui model.
As a language it is very lacking compared to Perl, however the Framework Class Library (standard with the .NET framework) is extensive; in fact, it is huge. It include Hashes which, are called HashTables. You can use arrays and HashTables to build complex data structures just as you would in Perl. However, many of the features that Perl implements as language features, the .NET languages implement as classes.
IMO by learning another programming language you are expanding your toolset and that can only help. You may decide that Perl is still your favorite, but at least you have others to choose from for the task at hand.