2009/04/09(木)UOA のベンダーエージェント機能のクリップボードデータ

UOA のベンダーエージェント情報をパース?トークナイズ?するコードだけ試しに書いてみた。
プログラムっていうよりただの正規表現で、ぶっちゃけ俺は何もしてない。
あくまでサンプルとして書いたので $a 使いすぎとかそういうところは無視。
#! /usr/bin/perl
use strict;
use utf8;

while (<>) {
  chomp;
  my $str = $_;
  utf8::decode($str);
  $str =~ /(Bulk Order Deed Blessed) (重量: \d) (小口|大口) (\w+(?: ingot(?:s)?| leather)?) (高品質|標準) (個数: \d+)/igc;
  my $a = $1;
  my $b = $2;
  my $c = $3;
  my $d = $4;
  my $e = $5;
  my $f = $6;
  utf8::encode($a);
  utf8::encode($b);
  utf8::encode($c);
  utf8::encode($d);
  utf8::encode($e);
  utf8::encode($f);
  print "\$1: [$a] \$2: [$b] \$3: [$c] \$4: [$d] \$5: [$e] \$6: [$f]";
  while ($str =~ /\G \w((?:\w|\s)+: \d+)/gc) {
    my $a = $1;
    utf8::encode($a);
    print " [$a]";
  }
  print "\n";
}

例えば布大口の巫女のデータをこのスクリプトに食わせると

$1: [Bulk Order Deed Blessed] $2: [重量: 1] $3: [大口] $4: [cloth] $5: [標準] $6: [個数: 20] [ バンダナ: 20] [ shirt: 20] [ skirt: 20] [ thigh boots: 0]

こんな風に分割して返してくれる。


UOAがクリップボードにコピーしてくれるデータって機械的に処理するのにやさしい形じゃないなぁ。
split() 一発で終わるような形でくれればいいのに。
それを簡単にパースしてくれる Perl ってすげー。

以下、俺メモ。

続きを読む

2009/04/09(木)Lv6トレハンとメガネメガネ

ヘイブンにて、ボルさん、Jill さんうるふぃさんととんこつが食いたいという話をしつつのんびりしていると、どこからともなくミアスマ産のパラ箱が降ってきた。

Jill さんはトレジャーハンターなので早速掘りに行く事に。
いつも参加したくても参加できない竹は、今宵こそはと張り切りました。
でも、メガネが見当たらない。カバンの中も机の中も探したけれど見つからないので、探すのはあきらめて盗賊バンダナを締めて出発。

ジャングルの中で古代龍といっしょ。
孤島で古代龍といっしょ。

Lv6 すげー楽しかった。
MAFは鈍器が2つ、氷メイスと燭台。そしてナイスオークヘルム。
nice-orchelm.JPG



墓場タリスマンをつけたままタイたんを殴るのは危ないからやめよう。

2009/04/08(水)コンテンツ追加

  • BOD管理CGIについて
  • ショップ Music Gear [Seagull] について
を追加。サイドバーから飛べます。

BOD管理CGI のトリセツとお店の紹介です。
お店の紹介でお隣のお店の方がアピールされているようですが、集客はお隣さんから流れてくる人を当てにしています。人のふんどしで相撲を取るなら人のふんどしは強い物の方がよいのです。人のふんどしを強くすることも大切。
するとアラ不思議、うちはへちょいままでもいいのです。

2009/04/07(火)BOD管理CGI Ver.1.0

せっかくウェブスペースを引っ越したのは Blog ツールを使うためではないのだ。

BOD管理CGI がやっと人目に晒せるようになりました。
BOD Manager

どこかに置いてあったものからの変更点は
  • [+][-]ボタンを押すごと、セル一つを編集するごとにページ遷移するのではなく、まとめて編集してから[input]ボタンを押した時にページ遷移するように変更
  • 種類を絞り込んで表示できるようにした
    • 全部一括で表示することはできなくなった
  • 内部処理を共通化、汎用化した
  • プレーンテキストに保存されていた認証パスワードを DB に格納するようにした
    • 生で保存されていたパスワードをハッシュで保存するようにした
  • ユーザー作成等の操作をウェブインタフェースからできるようにした
    • 管理者の目にしか触れないのですっごい適当
今更 BOD管理CGI もないだろう、という気はすごくしたりしなかったりするようなしないような。
JavaScript, CSS, Cookie が多分必須です。なくてもなんとかなるけど、
  • JavaScript がない場合はテキストボックスに直接入力しないとダメ。[+][-] のボタンは使えません
  • CSS がない場合は、レイアウトを大部分 CSS に頼っているのでどうなるかわかりません
  • Cookie がないとログインできないはず
入力し終わった後は、[input] ボタンを押さないと変更が反映されないので注意。

変更するかもしれなかったのに変更されなかった点
  • DB のフォーマットは SDBM のままにした
TODO:
静的データの定義は別ファイルにしよう。
UOA のベンダーエージェント情報をクリップボードからコピーしたデータによる更なる一括入力とか?だれか UOA 買ってくれ。