ヘアサロン店長の独り言♂

美容、ヘアスタイルについてや、PC・クルマなど・・・イロイロと 気になる事を載せていこうと思ってます。モバイルコンテンツ

タグリスト: Perl で分類表示

2008-06-10 (3/3page)

人気ヘアケアブログランキング perl フォームからの検索語のチェック「|」

通販のページに検索フォームをつけました。

perlで製作していますが、複数語句を入力した時に、正規表現で|(パイプ)を使い

$s =~ /a|b|c/ とし a、b、cどれかにマッチするようにしていますが、
この時にフォームに正規表現で

アリミノ|トリートメント とか入力されるとそれぞれアリミノ、トリートメントに該当するのがリストアップされますが、これが
アリミノ | トリートメント とスペースも入力されると次の語句のマークアップでとんでも無いことがおきました。
借りているサーバーは共用ですから他の人の迷惑になりますのであちこちクグリましたが、
対応策が見つからず、
結局フォームからURIエンコードされてくるデータを分解時に
length(フォームデータ)<=3 で 3バイト以下を全部削除するようにして解決です。

sjisで書いていますから、

&jcode'convert(*look_up_and,'euc')
一端eucに変換してマッチングと置換えは行い又、
sjisに戻して表示しています。

下記のサイトはすごくためになります。
Perlメモ
"$ascii = '[\x00-\x7F]'; $twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]'; $threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]'; if ($str =~ /^(?:$ascii|$twoBytes|$threeBytes)*?(?:$pattern)/) { print 'マッチした\n'; }"
一言どうぞ

2008-03-23 (2/3page)

人気ヘアケアブログランキング perl タグ閉じ忘れチェック

自分用の覚書として、

$memoにNOBR、CODE、B、PRE、FONTのタグあった場合にこれを途中で切り出して終了タグが削除されている時に追加する場合のサンプル。

ex:<font ="color:#121212"><b>あーだこーだと書いてみる</b>
→<font ="color:#121212"><b>あーだこーだと書いてみる</b></font>


if($memo =~ /(<(NOBR|CODE|B|PRE|FONT)\b(?:(?!<\/\2>).)*(?:<\2>|$))/sigx) {$memo.="</$2>";}

http://www.din.or.jp/~ohzaki/regex.htm#NoEndTag
を参考にしています。
一言どうぞ

2007-07-13 (1/3page)

人気ヘアケアブログランキング ローカルサーバー Apache2.2 + PHP5 +Perl5.8 on XP

いつも、cgiやphpはlocalでテストしてから公開しているが、自宅で作ったphpがweb上では動くが、店舗のPCでは作動しなくなっている。バージョン違いかと思うが設定しなおすのも面倒だから、最初から入れなおす。

AN HTTPD 1.42p と PHP Version 5.2.0で動かしていたが、これを

とりあえず英文を斜めよみしながら、Apacheをインストール後

スタート→Apache HTTP Server 2.2.4→Configure Apache Server→Edit the Apache httpd.conf Configuration File でhttpd.confを開いて

 "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf"(標準時のパス)

149行目 DocumentRoot の指定と
177行目 Directory の指定のみし、

http://localhost/ にアクセスすると You don't have permission to access って

3分ほど悩み、xpで動かしてるから / じゃなく \でルート指定ね。

212行目 DirectoryIndex  を
DirectoryIndex index.html index.php index.cgi
ってして

http://www.php.net/manual/ja/install.windows.apache2.php を参考に、
モジュールとしてPHPのインストール
そうすると勝手にhttpd.confの最終行に
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:\\PHP\\"
LoadModule php5_module "C:\\PHP\\php5apache2_2.dll"

#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
って書き込まれるから、\\を\にしてPHPは作動する。

  • include_path や doc_root や extension_dir は設定は済ませておく
  • どういうわけか、PHP Version 5.2.3のextをいれるとApacheがとまってしまうのでv5.2.0のを使った

次はperlの設定
Option Indexesの最後に「ExecCGI」を追加して、 (190行目)
Options Indexes FollowSymLinks MultiViews ExecCGI

ScriptAlias /cgi-bin/ は#追加して止めて
# ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"

<IfModule mime_module>360行目の配下に下記の行を追加して
AddType application/x-httpd-cgi .cgi .pl

終わり。
私の環境では動いているが、これまたすごく早くなっていてすごく快適になった!!

perlはc:\use\にインストールすると大抵のフリーcgiは、1行目が#!/usr/bin/perlになっているのが多いから後からが楽だよー

一言どうぞ
VISAカード

楽天カード