perl -e "use Win32::OLE; $hl = new Win32::OLE('HelloDot.HelloWorld') or die $!; $hl->SayHello();" #### sn -k personality.snk #### using System; using System.Reflection; [assembly:AssemblyVersion("1.0.0.0")] [assembly:AssemblyKeyFile("personality.snk")] namespace HelloDot { public class HelloWorld { public HelloWorld(){ //no param constructor for COM } public void SayHello(){ Console.WriteLine("Hello from DOT NET"); } } } #### csc /t:library /out:hellodot.dll hello.cs #### gacutil /i hellodot.dll #### regasm hellodot.dll #### perl -e "use Win32::OLE; $hl = new Win32::OLE('HelloDot.HelloWorld') or die $!; $hl->SayHello();"