Win32-API

 view release on metacpan or  search on metacpan

samples/packing.pl  view on Meta::CPAN

	return 0;
}
END_OF_C

    my @struct_decl   = ();
    my @struct_output = ();

    for my $member (@{$struct}) {
        push @struct_decl, qq{\t$member;};

        my ($type, $name) = split m{\s+}, $member, 2;
        $type =~ s{^\s*}{};
        $name =~ s{\s*$}{};

        push @struct_output,
            qq{\tp = ($ptr_type) &ts.$name;},
            qq{\tprintf("struct.$name\\t%d\\n", p - start);},
            q{};
    }

    $code = sprintf($code, join("\n", @struct_decl), join("\n", @struct_output));



( run in 1.577 second using v1.01-cache-2.11-cpan-71847e10f99 )