从PowerShell或C#调用perl模块的特定函数

时间:2015-11-24 16:23:33

标签: c# perl powershell

我有一个perl脚本文件(.pm),它有许多功能,如下面的

sub check_row {
    my ($class, %args) = @_;
.......
sub find_value {
    my ($class, %args) = @_;
.......

有什么办法可以通过C#或Powershell调用特定功能吗?我不允许在.pm文件中进行任何更改。我无能为力,因为我在互联网上看到的教程只讨论了运行perl模块但没有调用任何特定函数并传递和检索值。

2 个答案:

答案 0 :(得分:2)

您无法直接从PowerShell或C#使用Perl模块(your_module.pm)。您需要运行使用该模块的Perl脚本(your_script.pl):

#!/usr/bin/env perl

use strict;
use warnings;
use Your::Module qw(find_value);

find_value ...;

或者至少将代码字符串作为命令行参数传递给Perl解释器,正如Mathias R. Jessen在评论中指出的那样:

perl.exe -w -MYour::Module -e 'find_value ...;'

答案 1 :(得分:0)

查看ActiveState PerlNET的以下链接。

http://docs.activestate.com/pdk/6.0/PerlNET_overview.html