Sorry, kinda late to the party, but you may find Win32::PEFile helpful. The current CPAN version doesn't provide resource creation and editing, but a version I have sitting in the wings does. Prod me via /msg if you are keen on the update - I've a few other things on the go that I need to sort out first though.
#!/usr/bin/perl
use strict;
use warnings;
use Win32::PEFile;
my $pe = Win32::PEFile->new(-file => 'C:\Perl\bin\perl.exe');
my $verStrs = $pe->getVersionStrings();
print "$_: '$verStrs->{$_}'\n" for keys %$verStrs;
Prints:
CompanyName = 'ActiveState'
FileDescription = 'Perl Command Line Interpreter'
FileVersion = '5,16,3,1603'
InternalName = 'perl.exe'
LegalCopyright = 'Copyright 1987-2011, Larry Wall, Binary build by Act
+iveState, http://www.ActiveState.com'
LegalTrademarks = ''
OriginalFilename = 'perl.exe'
ProductName = 'ActivePerl'
ProductVersion = 'Build 1603 [296746]'
Premature optimization is the root of all job security