Perlモジュール追加


libwww関連

PerlからHTTP通信したりできるモジュール。
  • ファイルをダウンロードしてくる。 ※拡張子は。.tar.bz2 にしておいたほうが解凍しやすいかも。
    http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/
      → libwww-perl-5.805.tbz2
      → libnet-1.21.tbz2
      → URI-1.35.tbz2
      → HTML-Parser-3.56.tbz2
      → HTML-Tagset-3.10.tbz2
      → HTML-Tree-3.23.tbz2
  • 6つを同じところに展開し、vendor_perl を取り出し、microSDHCに格納する。
    SYS\usr\local\lib\perl5\vendor_perl
    
  • ファイルをダウンロードしてくる。
    http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/
      → perl-5.8.8-r4.tbz2
  • 2ファイルを取り出す
    usr\lib\perl5\5.8.8\armv5tejl-linux\auto\IO\IO.so
    usr\lib\perl5\5.8.8\armv5tejl-linux\auto\Socket\Socket.so
    
  • microSDHCに上書きする。もともと入っていますが、そのファイルだと動かなかったので。
    SYS\usr\local\lib\perl5\5.8.8\armv5tejl-linux\auto\IO\IO.so
    SYS\usr\local\lib\perl5\5.8.8\armv5tejl-linux\auto\Socket\Socket.so
    

  • AES

    JavaのAES暗号と相互で暗号化複合化を試したかったので入れてみました。
    低速だけどPerl汎用なモジュールです。
    普通は必要ないです。PQI Air Card関係ないし。
    情報が少なかったんでついでにメモ残しただけ。
  • ファイルをダウンロードしてくる
    http://search.cpan.org/~delta/Crypt-Rijndael_PP/Rijndael_PP.pm
      → Crypt-Rijndael_PP-0.05.tar.gz
  • 1ファイルを取り出す
      Rijndael_PP.pm
    
  • Cryptフォルダを作成して格納する
    SYS\usr\local\lib\perl5\vendor_perl\5.8.8\Crypt\Rijndael_PP.pm
    
  • 実験
    #!/usr/bin/perl
    use Crypt::Rijndael_PP ':all';
    $key = unpack("H*", "1234567890ABCDEFGHIJKLMNOPQRSTUV");
    $plain = "plain text";
    $cipher = unpack("H*", rijndael_encrypt($key, MODE_ECB, &PKCS5Padding($plain,16), 256, 128));
    print $cipher . "\n";
    exit 0;
    
    sub PKCS5Padding {
        my ($str, $blocksize) = @_;
        my $pad = $blocksize - (length($str) % $blocksize);
        return ($str . chr($pad)x$pad);
    }
    
    こんな感じでSalted__の入ったopenssl形式でなく素のAESが扱えた。
    PKCS5PADDINGの指定方法がわからなかったので自前で用意してる。

    設定

    デフォルトの @INC に vendor_perl が無かったため、手抜きをして site_perl で無理矢理代用。
    libwww関連を使うときに /etc/protocols が必要だったので作成
    echo "tcp 6 TCP" >> /etc/protocols
    rm /usr/bin/perl
    ln -s /mnt/sd/SYS/usr/bin/perl /usr/bin
    ln -s /mnt/sd/SYS/usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5
    ln -s /mnt/sd/SYS/usr/local/lib/perl5/vendor_perl /usr/local/lib/perl5/site_perl
    

    Perl別解

    一部モジュールだけを差し替えるやり方を書きましたが、Perl全部置き換えという手もあります。
    いっぱい流用するなら、こっちのほうがいいかもしれません。
    http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/
      → perl-5.8.8-r4.tbz2
      → libperl-5.8.8-r1.tbz2


    戻る