2009Q1 Grant Proposal: Inline C++/CLI


John R. Hogerhuis


[hidden email]

Amount Requested:



Write Perl subroutines and classes in C++/CLI

Benefits to the Perl Community

The benefit of this project is that it opens up access to .Net APIs to Perl programmers. This prevents Perl from being marginalized on the Windows platform. It allows the Perl community to continue to use its favorite tool to solve problems on the Windows platform without giving up access to any of the platforms facilities.


  • Build bleadperl with Visual C++ 2008 Express Edition

  • Modify Inline::CPP (if necessary) to support CPP/CLI

  • Host a website for distributing binary form of Perl compiled with VS2008

  • Publish an article about how to write CPP/CLI modules

Project Details

The goal of this project is to create a distribution of Perl based on the free beer C++/CLI compiler distributed by Microsoft, and a new Inline-CPPCLI to make creating mixed-code binding DLLs as simple as possible.

This will give create a bridge to all .Net functionality while keeping Perl as fast, native code.

Project Schedule

It isn't clear what issues there will be. But I think the project could be completed within about 3 calendar months with me working 1/4 time on it.


I am a contract embedded systems programmer (CS major). I authored the LTK-Perl (LLRP Toolkit) for communicating with RFID readers: http://sourceforge.net/projects/llrp-toolkit/ I use Perl in my daily work writing test infrastructure and automated test scripts. I have 13 years experience as a professional programmer. Recently I have been struggling with testing BizTalk RFID. I would like to continue to leverage my investment in our Perl test scripts and framework while exercising .Net assemblies. In addition to being fluent in Perl, I am a competent C and C# programmer. I am currently learning C++/CLI.


I affirm this project proposal as an important one for Perl's interop and bindings landscape.

If Perl doesn't have an easy way for developers to use .Net code on Windows it will be left behind on that platform. So +1 from me for this project.

The functionality already exists in the ActiveState Perl Dev Kit: The PerlNET component allows you not only to call .NET code from Perl, but you can also implement a .NET class in Perl, or even write a Perl class that inherits from a .NET class. The PerlNET Overview shows a list of its functionality.

PerlNET is however proprietary commercial software.

Disclaimer: I work for ActiveState and wrote large parts of PerlNET. I'm arguing neither for nor against the proposal, just wanted to point out to the other commenters that Perl has not been left behind in interoperating with the .NET platform.

Oops, forgot to mention, there is also Win32::CLR on CPAN, which seems to have some overlap with this proposal. Win32::CLR is licensed under the same terms as Perl.

Perl is not designed to work with c++.

We don't need a perl NET.api.

We use ansi c (not Visual C++ 2008 Express Edition).

I don't know what is CPP/CLI, but is c++.

We don't use dll's we use so libraries

We have to check licences very carefully.

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Entry

This page contains a single entry by Alberto Simões published on February 5, 2009 10:17 PM.

Running Grants (2009 - II) was the previous entry in this blog.

2009Q1 Grant Proposal: Perl debugger integration in Padre, the Perl IDE is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2