Unicode::Normalizeで合成文字を単独文字に変換できる。
use utf8;
binmode STDOUT, ':utf8';
use Unicode::Normalize;
my $ka_dakuten = chr(0x304B) . chr(0x3099); # が
my $ga = chr(0x304C) ; # が
if ( NFC($ka_dakuten) eq $ga ) {
print "「NFC($ka_dakuten)」は「$ga」と同じ\n";
}
「NFC(が)」は「が」と同じ
文字数も正しく?得られる。
use utf8; binmode STDOUT, ':utf8'; use Unicode::Normalize; my $ka_dakuten = chr(0x304B) . chr(0x3099); # が printf "$ka_dakuten: %d文字\n", length $ka_dakuten; printf "NFC($ka_dakuten): %d文字\n", length NFC($ka_dakuten);
が: 2文字 NFC(が): 1文字
Sat Apr 11 22:32:45 2009
スクリプト内で1度しか使われていない名前は警告される。
package Foo; use warnings; $Foo::Bar = 1;
perl Foo.pm Name "Foo::Bar" used only once: possible typo at Foo.pm line 5.
しかし、モジュール内では警告されない。
perl -MFoo -e ''
Sun Apr 12 00:26:29 2009
h2xsを使ったモジュールは以下のコマンドでテストを実行できる。
perl -Ilib -MTest::Harness -e 'runtests @ARGV' t/*.t
ただし、WindowsのActivePerlの場合はコマンド プロンプトでワイルドカードが展開されないため使用できない。
>perl -e "print @ARGV" t\*.t t\*.t
以下のコマンドであればWindowsのActivePerlでも使用できる。
perl -Ilib -MTest::Harness -e "runtests glob 't/*.t'"
Sun Apr 12 00:53:55 2009
モジュールのファイル不足はmake時に確認されるが、MANIFESTに書かれていないファイルは無視される。事前に以下のコマンドの結果がMANIFESTの行数と等しい事を確認しておく。
find -type f | wc -l
Sun Apr 12 01:06:00 2009
Makefile作成時にPREFIXとLIBを指定する事でモジュールを任意のディレクトリにインストールできる。
perl Makefile.PL PREFIX=/home/foo/local LIB=/home/foo/local/lib make make test make install
Sun Apr 12 01:34:35 2009
require ArrayBox;
my $ab = ArrayBox->new( 'A' .. 'Z' );
$ab->grep( sub { ord() % 2 == 0 } )->map( sub { lc } )->each( sub { print } );
bdfhjlnprtvxz
ArrayBox-0.00_05, ArrayBox-0.00_05.tar.gz
Sat May 16 17:39:44 2009
http://okyuu.com/ja/special/%E7%89%B9%E9%9B%86_No_okyuu_No_Life_%E7%AC%AC2%E5%9B%9E
Sun May 3 22:11:00 2009
Location:をC:\usr\local\に設定すると、perlのパスはC:\usr\local\bin\perl.exeになる。(C:\usr\ならC:\usr\bin\perl.exeになる。)あらかじめC:\usr\を作成し、適切なセキュリティ設定(AdministratorsとSYSTEMにフルコントロール、Power Usersに変更、Usersに読み取りと実行、CREATOR OWNERにサブフォルダとファイルのみフルコントロール)をしておく。
Mon May 4 23:02:16 2009
sub is_num { defined $_[0] and ( $_[0] ^ $_[0] ) eq '0' }
for my $one ( 1, '1' ) {
print "$one は", is_num($one) ? '数値' : '文字', "である\n";
}
Sat Dec 5 09:09:32 2009
http://www.tamashiro.org/lfshell/
Sat Dec 5 18:39:28 2009
コマンドラインから電源オフや休止を実行する方法が@IT - アットマーク・アイティのコマンドラインから電源オフや休止を実行するに掲載されている。
C:\>shutdown -r -t 0
C:\>%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
Sun Apr 12 03:12:30 2009
以下のコマンドでマイ ピクチャやマイ ミュージックのフォルダを修復できる。
>rundll32 mydocs.dll,PerUserInit
Tue Apr 14 05:01:29 2009
アルバムの名前が同一でアーティスト名が異なる曲は、「コンピレーション」を指定する事で同一のアルバムにまとめられる。
Tue Apr 14 04:55:02 2009
文字エンコーディングをUnicode (UTF-8)にすると、通常は8bitのテキストのまま転送される。
Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit メッセージ本文
Quoted-Printable方式でのMIMEエンコードを指定する事で7bitのテキストで転送できる。
Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable =E3=83=A1=E3=83=83=E3=82=BB=E3=83=BC=E3=82=B8=E6=9C=AC=E6=96=87
[8 ビットの文字エンコーディングを使うメッセージは Quoted-Printable 方式で MIME エンコードする] チェックボックス([ツール] - [オプション] - [編集] - [一般])で設定する。
Thu Apr 16 00:02:16 2009
Synergyの設定を行うと、マイ ドキュメントにsynergy.sgcが作成される。
C:\Documents and Settings\foo\My Documents\synergy.sgc
さらに、[Options] - [AutoStart] - [Computer Starts] をインストールすると、Windowsのディレクトリにもsynergy.sgcが作成される。
C:\WINDOWS\synergy.sgc
Computer Startsの場合はWindowsのディレクトリ側のファイルが参照されるようで、マイ ドキュメント側のファイルは不要。削除しても問題ない。ただし、設定を行うたびに作成される。
Sun Apr 19 10:30:25 2009
PreferencesのAuto-Dismountを適切に設定する。ショートカットのオプションは以下のように設定する。
/v \Device\Harddisk1\Partition1 /l D /e /q background
Mon May 4 23:24:49 2009