system関数やパイプを使って外部プログラムを実行する時は 汚染チェックを必ずする。 エスケープするべき文字 & ; ` ' \ " | * ? ~ < > ^ ( ) [ ] { } $ \n \r 以下の置き換えで全てをエスケープすると良い。 s/([\&\;\`\'\\\"\|\*\?\~\\^\(\)\[\]\{\}\$\n\r])/\\$1/g; 参考:http://www.stackasterisk.jp/tech/program/perl02_02.jsp
IEでだけ動作しない事が多いようなのでメモ JSON(JSONP)で name( { 'data' :[ ['あいう','せそ'], ['かきく','けこ'], ['さしす','せそ'] ] } ); こんな感じのものを使おうとすると ']'がありませんというようなエラーが出る。 cgi等スクリプトで出力する場合はレスポンスヘッダを明示的に指定する必要がある。 perlなら print "Content-type: application/json; charset=UTF-8;\n\n"; のように。 charsetは'utf8'ではダメで'UTF-8'か'utf-8'とハイフンが必要のよう […]
Linuxのコマンド ls -cr `find /tmp -type f` ・find /tmp -type f /tmp 以下のファイル全てを検索 ・ls -cr 更新日時を古い順にソート つまり /tmp 以下のファイルを更新日時が古い順にソートするコマンド。 ちなみに、 ls -c 最後にファイルのステータスを変更した時間でソート ls -t 修正時刻順でソート。 ls -u 最後にファイルにアクセスした時刻でソート perlで使う時は 、 open(IN, "ls -cr `find /tmp -type f` | "); print while(); のように、openの中のコ […]
今まで普通に使用出来ていたWebminのFile Manager が突然エラーで表示出来なくなった。で、ググっていたらApple公式にヒントがあったのでメモ。 エラー内容はこんな感じ Failed to get Language List javax.net.ssl.SSHHandshakeException java.security.cert.CertificateException Java couldn't trust Server http://support.apple.com/kb/TA24031?viewlocale=ja_JP Finder → 移動 → ユーティリティ → […]
webmin設定>言語>Japanese (JA_JP.EUC)での場合 /usr/libexec/webmin/file/lang/ja_JP.euc をローカルにダウンロード。 テキストエディタ等で「sjis」に変換して保存。 同ファイルを同ディレクトリにアップロード。 これで文字化けが解消される。 表示言語がUTF-8ならja_JP.UTF-8 をsjisで保存してアップロード。 参考:http://rcconf.blogspot.com/2007/05/webmin.html ちなみにテキストエディタはmi(ミミカキエディット)が便利です。 マック用ですが。 http://www.mi […]
MySQLのDATETIME型へインデックスをつける場合注意が必要。 例えばこんなSQLではインデックスが使用されない。 SELECT * FROM table WHERE datetime LIKE '2009-05-17%' 検索結果は2009-05-17分全てが抽出されるが、フルスキャンがかかる。 この場合、以下のようなSQLが良い。 SELECT * FROM table WHERE date_time BETWEEN '2009-05-17' AND '2009-05-17' + INTERVAL 1 DAY 実行時間計測の例 行数:13,776行 データ:2,935KB インデック […]
接続時 my $dbh = DBI->connect('DBI:mysql:database=sandbox;host=localhost;mysql_read_default_file=/etc/mysql/my.cnf',qw/id password/,); または接続後に $dbh->{ mysql_enable_utf8 } = 1; この辺の記事http://www.geminium.com/chiba_blog/2009/02/
例えば sub xxx{ eval{ my $a=1; if($a){return(0);} }; } if(&xxx){print"abc";} else{print"def";} などとするとうまくいかない。 sub xxx{ eval{ my $a=1; if($a){die;} }; if($@){return(0);} } などとしよう。
配列をprintする時の区切り文字を変えるには $" に代入するだけ。 @list= (1,2,3,4); $" = ','; print "@list"; 実行結果 1,2,3,4 ただし、 print @list; "" (だぶるクォート)無しだと反映されない。
phpmyadminインストール yum install phpmyadmin /usr/share/phpmyadmin にインストールされる。 /usr/share/phpmyadmin/config.inc.phpを編集 $cfg['blowfish_secret']を設定。 /* * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = '*************'; /* YOU MUST FILL IN THIS FOR […]