秀丸マクロから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 );