秀丸マクロからhmPerlへと命令する関数

概要

秀丸マクロからhmPerlに対して直接使用することが想定されている関数は、
「DoString」のたった1つだけです。

Perlとして実行する

  • 命令の実行:
     └ DoString( ヒアドキュメント文字列 )

    文字列「ヒアドキュメント文字列」をPerlの命令として実行します。

    何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。
    エラーなどがあった場合は、「秀丸・デバッグ出力モニター」上に表示されます。

1つのマクロ内で「DoString」は複数回実行可能、変数空間も同じ

#Perl = loaddll( hidemarudir + @"\hmPerl.dll" );

#_ = dllfuncw( #Perl, "DoString", R"PERL(

$aaa = "あいうお";

sub mysum {
  return @_[0] + $_[1];
}

)PERL");


#bbb = 123;

#_ = dllfuncw( #Perl, "DoString", R"PERL(

$bbb = hm->Macro->Var('#bbb');
$ccc = $aaa . "続いている"; # 別のDoStringでも、$aaa は引き続き利用できる。

hm->Macro->Var('$ddd', $ccc );

hm->debuginfo( mysum(1,2) ); # 別のDoStringで定義した関数も当然利用できる。

)PERL");

message($ddd);

freedll( #Perl );