Win32::VBScript - Run Visual Basic programs
This module allows you to invoke code fragments written in Visual Basic (or even JavaScript) from within a perl program. The Win32::OLE part has been copied from Inline::WSC.
use strict; use warnings; use Win32::VBScript qw(:ini); compile_prog_vbs([ qq{MsgBox "Please press the OK Button..."} ])->ontop; compile_prog_vbs([ qq{WScript.StdOut.WriteLine "Test1" : WScript.Sleep(2000)} ])->cscript; compile_prog_vbs([ qq{WScript.StdOut.WriteLine "Test2" : WScript.Sleep(2000)} ])->async_cscript; # You can define functions in Visual Basic... # ******************************************* my $t1 = compile_func_vbs([ <<'EOF' ]); ' Say hello: Function Hello(ByVal Name) Hello = ">> " & Name & " <<" End Function ' Handy method here: Function AsCurrency(ByVal Amount) AsCurrency = FormatCurrency(Amount) End Function EOF # ...or even JavaScript... # ************************ my $t2 = compile_func_js([ <<'EOF' ]); function greet(name) { return "Greetings, " + name + "!"; } // end greet(name) EOF # ...and call the functions later in Perl: # **************************************** print 'Compiled functions are: (', join(', ', map { "'$_'" } sort { lc($a) cmp lc($b) } $t1->flist, $t2->flist), ')', "\n\n"; { no strict 'refs'; *{'::hi'} = $t1->func('Hello'); *{'::cur'} = $t1->func('AsCurrency'); *{'::grt'} = $t2->func('greet'); } print hi('John'), ' gets ', cur(100000), ' -> ', grt('Earthling'), "\n\n";
Klaus Eichner <klaus03@gmail.com>
Copyright (C) 2016 by Klaus Eichner
All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the artistic license 2.0, see http://www.opensource.org/licenses/artistic-license-2.0.php
To install Win32::VBScript, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Win32::VBScript
CPAN shell
perl -MCPAN -e shell install Win32::VBScript
For more information on module installation, please visit the detailed CPAN module installation guide.