Win32::Resources - Manipulate windows executable resources


  use Win32::Resources;
  my $data = Win32::Resources::LoadResource(
    filename => 'test.exe',
    type => RT_RCDATA,
    name => 'bar',
    language => '0',


Win32::Resources allows you to deal with windows executable (.exe or .dll) resources (load, update and delete resources).

Resources can be icons, version information, binary datas, ...

To update resources, please see Win32::Resources::Update.

If you want to add an icon to your exe or change version information, it is easier with Win32::Exe.


None by default.



LoadResource return the content of a resource included in an exe file.

$args is a hash ref with the following parameters: filename: .exe to load resource from. Can be undef if you want to load a resource from the caller exe (perl.exe if you launch your script fromcommand line or xxx.exe if you made a PAR executable). type: type of resource (RT_RCDATA, ...). Can be the string or its integer representation. For example, you can specify RT_RCDATA, RCDATA or 10 as you wish. name: resource name. language: language id (optional).

You can specify a path parameter as a shortcut to the triplet type, name and language in one shot: type/name/language.

The following call is the same:

  LoadResource(path => 'RCDATA/FOO/0');
  LoadResource(type => 'RCDATA', name => 'FOO', language => '0');


Please report any requests, suggestions or bugs via the RT bug-tracking system at or email to bug-Win32-Resources\ is the RT queue for Win32::Resources. Please check to see if your bug has already been reported.


Copyright 2004

Fabien Potencier,

This software may be freely copied and distributed under the same terms and conditions as Perl.


perl(1), Win32::Exe, Win32::Resources::Update.