2015-11-24 5 views
0

Я файл Perl скрипт (.pm), который имеет множество функций, таких как нижеВызов конкретной функции из PERL модуля из PowerShell или C#

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

Есть ли способ, я могу назвать конкретную функцию либо через C# или Powershell? Мне не разрешено вносить изменения в файл .pm. Я не знаю, как учебник, который я вижу в Интернете, говорит только о запуске perl-модуля, но не вызывает никакой конкретной функции, а также передает и извлекает значение.

ответ

2

Вы не можете использовать модули Perl (your_module.pm) непосредственно у PowerShell или C#. Вам необходимо запустить скрипт на Perl (your_script.pl), который использует модуль:

#!/usr/bin/env perl 

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

find_value ...; 

или по крайней мере передать строку кода в качестве аргумента командной строки для интерпретатора Perl, а Матиас Р. Йенсен отметил в комментариях:

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

Вы могли бы "одна линия" Perl-вызов, если необходимо: 'perl.exe -MYour :: Модуль -E 'сказать find_value (123)'' –

+0

@ MathiasR.Jessen Конечно, но вы Мне все еще нужен интерпретатор Perl. Только PowerShell или C# недостаточно. –

+0

Абсолютно, он не сможет обойти это в любом случае –

Смежные вопросы