# URLエンコード $str =~ s/([^\w ])/'%'. unpack( 'H2', $1 )/eg; $str =~ tr/ /+/; # URLデコード $str =~ tr/+/ /; $str =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack( 'H2', $1 )/eg; # URLエンコード use URI::Escape; $str = uri_escape( $str ); # URLデコード use URI::Escape; $str = uri_unescape( $str );
# 昔はこんな風にselectで代用してた select(undef, undef, undef, 0.5); # 500ms(0.5秒)のsleep # Time::HiResが使えるなら、usleepを使いませう # usleepは1秒以下のsleepが可能 # 引数はμ秒で指定、戻り値は実際にsleepしたμ秒 use Time::HiRes qw( usleep ); $micsec = usleep( 500000 ); # 500ms(0.5秒)のsleep $micsec = usleep( 1000 ); # 1ms(0.001秒)のsleep $micsec = usleep( 10 ); # 10μs(0.00001秒)のsleep # CPAN - Time::HiRes - http://search.cpan.org/dist/Time-HiRes/ #
ロダ主用メモ。
最近めっきり忘れっぽくなってきたし。
固有名詞とか思い出せない時けっこうあるしorz
あくまで主用なので、思いっきり参考にはしない方が吉。
2008年より前の記事は、昔のblogの記事から移動したものです。
MySQLのchar型やvarchar型等は大文字と小文字の区別がされないのがデフォルト。
区別したい場合はテーブル作成時かクエリ投げる時に「BINARY」属性を付加する。
例えば、
CREATE TABLE `test_tbl` (`testcol` VARCHAR(10) BINARY NOT NULL);
とか、
ALTER TABLE `test_tbl` MODIFY `testcol` VARCHAR(10) BINARY;
のようにBINARY属性を付加すると区別できるようになる。
既に存在するテーブル等で、どうしてもALTER出来ない場合や、状況に応じて区別の有無を変化さたい場合等は、クエリを投げる時に属性を付加する事も可能。
例えば、
SELECT * FROM `test_tbl` WHERE `testcol` = BINARY 'WwXxYyZz';
こんな感じ。
まあ、クエリに付加する場合、元々予定されていない所に後付するとバグの原因にもなるので、出来るだけ避けた方が良いかと思う。
Posting tweet...
Powered by Twitter Tools
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| « 7月 | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||
RSS 2.0
atom