[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
古い記事
ランダムジャンプ
新しい記事
さくらの500円レンタルサーバに SUFARY をインストールし、
SUFARY の Perl モジュールである SUFARY.pm を動かす手順。



■■■インストール:

■バイナリやライブラリのインストール (to ~/opt/):
wget http://ta2o.net/tools/sufary/src/sufary-2.3.8.tar.gz
tar zxvf sufary-2.3.8.tar.gz
cd sufary-2.3.8
./configure --prefix=/home/YOURID/opt
make
make install
「make install」で、
「ディレクトリがないよ」というエラーが出たら、どんどん mkdir。
SUFARY.pm がどうたらというエラーが出るころには
必要なものはコピーし終わっているので終了。
~/opt/bin/mkary, ~/opt/bin/sass が動けばいいや。

■Perlモジュールのインストール (to ~/lib/perl/):
上記の続き。
cd perl/SUFARY
perl Makefile.PL
make
make test
rsync -av blib/lib/ ~/lib/perl 
rsync -av blib/arch/auto ~/lib/perl/
「make install」がうまくいかないので手作業。
「perl Makefile.PL PREFIX=/home/YOURID/lib」
とかやったけど、だめだった。

■■■動作確認:

■テストデータ作成:
echo "hello\nhi\nhell\n" > a.txt
mkary -q a.txt

■テストスクリプト sa.pl:
#!/usr/bin/perl
BEGIN {unshift @INC, "/home/YOURID/lib/perl"};
use strict;
use warnings;
use SUFARY;
my ($fn, $key) = @ARGV;
my $sa = SUFARY->new($fn);
my ($left, $right) = $sa->range_search($key);
exit unless defined $left and defined $right;
for (my $i = $left; $i <= $right; $i++) {
    print $sa->get_line($sa->get_position($i));
}

■実行結果:
% ./sa.pl a.txt hello
hello
% ./sa.pl a.txt el   
hell
hello
% ./sa.pl a.txt hi
hi
% ./sa.pl a.txt h 
hell
hello
hi