++ed by:

2 PAUSE users
2 non-PAUSE users.

Mark Dootson
and 1 contributors


Win32::Exe - Manipulate Win32 executable files


This document describes version 0.12_03 of Win32::Exe, released April 23, 2010.


    use Win32::Exe;
    my $exe = Win32::Exe->new('c:/windows/notepad.exe');

    # Get version information
    print $exe->version_info->get('FileDescription'), ": ",
    $exe->version_info->get('LegalCopyright'), "\n";

    # Dump icons in an executable
    foreach my $icon ($exe->icons) {
    printf "Icon: %s x %s (%s colors)\n",
           $icon->Width, $icon->Height, 2 ** $icon->BitCount;

    # Import icons from a .exe or .ico file and writes back the file
    $exe->update( icon => '/c/windows/taskman.exe' );

    # Change it to a console application, then save to another .exe
    # Add a manifest section
    $exe->update( manifest => $mymanifestxml );
    # or a default
    $exe->update( defaultmanifest => 1 );
    # Get manifest object
    $manifest = $exe->get_manifest if $exe->has_manifest 


This module parses and manipulating Win32 PE/COFF executable headers, including version information, icons, manifest and other resources. The module Win32::Exe::Manifest can be used for manifest handling.

Also, please see the test files in the source distributions t/ directory for examples of using this module.


Audrey Tang <cpan@audreyt.org>

Mark Dootson <mdootson@cpan.org>

Steffen Mueller <smueller@cpan.org>


Copyright 2004-2007, 2010 by Audrey Tang <cpan@audreyt.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html