=head スクリプト名 favorites2_ff.cgi - Firefox用ブックマーク検索スクリプト =head 概要 Firefox のブックマークを検索して、URL とタイトルを取得し、タイトルに URL をリンクさせたリストを得る。 =cut require 'cgi-lib.pl'; use Unicode::Japanese; $s = Unicode::Japanese->new(); # bookmarks.htmlのパスの設定(ユーザー設定が必要と思われる) $bookmarks = $ENV{'USERDIR'}."\\Application Data\\Phoenix\\Profiles\\default\\5nepgtwg.slt\\bookmarks.html"; # favorites.html の入力フォームからの検索文字列パターンの取得 &ReadParse(*in); if($in{'pattern'}){ $pattern = $in{'pattern'}; }else{ $pattern = ".";# 「お気に入り」すべてを検索する } # 環境変数の取得 $cgidir = $ENV{'CGIDIR'};# CGI パス # CGI 先頭部分出力 print < ブックマーク検索結果
ブックマーク検索パターン: $pattern
HEADER open(IN, "<$bookmarks"); while(){ $_ = $s->set($_,'utf8')->sjis; if($_ =~ /^\s+
(.*?)<\/A>$/i){ $url = $1; $favorite = $2; if($favorite =~ /$pattern/io){ $url_encoding = &juri_encode($url); $favorite_encoding = &juri_encode($favorite); print "
\n"; } } } close(IN); print "
$favorite$urlメモ作成

\n"; # Jperl 用 URL エンコーディング sub juri_encode{ my($str) = @_; $str =~ s/([^a-z0-9\-_.!*'\(\)~ ])/length($1) == 2 ? sprintf "%%%1s%1s%%%1s%1s", split("",unpack("H4", $1)) : sprintf "%%%02X", ord($1)/egi; $str =~ tr/ /+/; return $str; }