2008年10月31日金曜日
Perl:quotemetaの使い方
引数からすべての正規表現のメタ文字をバックスラッシュでエスケープしたものを返します。つまり、/[A-Za-z_0-9]/にマッチしない全ての文字の前にはロケールに関わらずバックスラッシュが前置されます。
print quotemeta('(\S+)\s'), "\n";
> \(\\S\+\)\\s
print quotemeta('(\S+)\s'), "\n";
> \(\\S\+\)\\s
2008年10月30日木曜日
2008年10月28日火曜日
リファレンスのリストから最初の要素を取り出してリストにする
use Data::Dumper;
use Text::CSV_XS;
my $csv = new Text::CSV_XS({binary => 1});
open IN, "< list.csv";
foreach(<IN>){
$csv->parse($_);
push( @id, [$csv->fields()]->[0]);
}
print Dumper @id;
close IN;
use Text::CSV_XS;
my $csv = new Text::CSV_XS({binary => 1});
open IN, "< list.csv";
foreach(<IN>){
$csv->parse($_);
push( @id, [$csv->fields()]->[0]);
}
print Dumper @id;
close IN;
Perl:複数行にわたるコメントを簡単に
Java や C 等に用意されている /* コメント */ のように、複数行に渡るコメントを記述したい場合、 Perl では perldoc用の記述方である =pod と =cut を使用することで、複数にわたるコメントを記述できます。 (以下参照)
print "ここは実行されます。\n";
=pod
ここはコメント行になります。
ここもコメント行になります。
=cut
print "ここも実行されます。\n";
http://www.site-cooler.com/tips/perl_comments.htm
print "ここは実行されます。\n";
=pod
ここはコメント行になります。
ここもコメント行になります。
=cut
print "ここも実行されます。\n";
http://www.site-cooler.com/tips/perl_comments.htm
2008年10月26日日曜日
Borland C++ Compiler 5.5インストール
http://cc.codegear.com/free/cppbuilder
環境変数
c:\Borland\Bcc55\bin
c:\Borland\Bcc55\binフォルダに
bcc32.cfg
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
ilink32.cfg
-L"c:\Borland\Bcc55\lib"
を作成。
コンパイラオプション
ファイル名をhoge.cgiで保存
bcc32 -ehoge.cgi piyo.cpp
http://www.geocities.jp/bleis_tift/cpp/option.html
環境変数
c:\Borland\Bcc55\bin
c:\Borland\Bcc55\binフォルダに
bcc32.cfg
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
ilink32.cfg
-L"c:\Borland\Bcc55\lib"
を作成。
コンパイラオプション
ファイル名をhoge.cgiで保存
bcc32 -ehoge.cgi piyo.cpp
http://www.geocities.jp/bleis_tift/cpp/option.html
2008年10月25日土曜日
CakePHP:Routes の定義
独自ルートの定義により、アプリケーションを指定した URL で動作させることができるようになります。独自のルーティングは、/app/config/routes.php ファイルの Router::connect() メソッドを使用して定義します。
http://book.cakephp.org/ja/view/542/Routes-%E3%81%AE%E5%AE%9A%E7%BE%A9
http://book.cakephp.org/ja/view/542/Routes-%E3%81%AE%E5%AE%9A%E7%BE%A9
2008年10月24日金曜日
2008年10月23日木曜日
2008年10月21日火曜日
2008年10月18日土曜日
シリアルインタフェース設定
シリアルインタフェースの設定に関しては、2 つの仕様について説明する必要があります。通常、インタフェースは回線にクロッキングを提供する CSU/DSU タイプのデバイスに接続されています。ただし、ラボ環境のようにバックツーバックコンフィギュレーションの場合は、必ずケーブルの一方のエンドがクロッキングを提供します。これは、ケーブルの DCE 側になります。デフォルトでは Cisco ルータは全て DTE デバイスです。したがって DCE デバイスとして動作させる場合は、クロッキングを提供するように設定しなければなりません。
Router#config t
Enter configuration commands, one per line. End with CTRL/Z.
Router(config)#int s0/0
Router(config-if)#clock rate 64000
Router#config t
Enter configuration commands, one per line. End with CTRL/Z.
Router(config)#int s0/0
Router(config-if)#clock rate 64000
2008年10月15日水曜日
glob -- パターンにマッチするパス名を探す
foreach (glob("*.txt") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
http://phpspot.net/php/man/php/function.glob.html
echo "$filename size " . filesize($filename) . "\n";
}
?>
http://phpspot.net/php/man/php/function.glob.html
ディレクトリの生成と削除
-ディレクトリを生成する例
mkdir ("./lockdir", 0755) || die "ディレクトリ生成失敗 : $!";
-ディレクトリを削除する例
rmdir ("./lockdir") || die "ディレクトリ削除失敗 : $!";
mkdir ("./lockdir", 0755) || die "ディレクトリ生成失敗 : $!";
-ディレクトリを削除する例
rmdir ("./lockdir") || die "ディレクトリ削除失敗 : $!";
2008年10月14日火曜日
2008年10月10日金曜日
クッキーつけてREQUESTしてRESPOSE取得
cookieないとコンテンツが取得できないとき。
use LWP;
use HTTP::Request::Common;
# requestオブジェクトを作成
my $req = GET( 'http://hogehoge.jp' );
$req->header(Cookie => 'ここにヘッダのクッキーを直接はりつけたりする。');
print "========== REQUEST ==========\n";
print $req->as_string;
# resposeオブジェクトを取得
my $ua = LWP::UserAgent->new;
my $res = $ua->request($req);
print "========== RESPONSE =========\n";
print $res->as_string;
use LWP;
use HTTP::Request::Common;
# requestオブジェクトを作成
my $req = GET( 'http://hogehoge.jp' );
$req->header(Cookie => 'ここにヘッダのクッキーを直接はりつけたりする。');
print "========== REQUEST ==========\n";
print $req->as_string;
# resposeオブジェクトを取得
my $ua = LWP::UserAgent->new;
my $res = $ua->request($req);
print "========== RESPONSE =========\n";
print $res->as_string;
2008年10月7日火曜日
crontab : ユーザごとの設定
ユーザー名一覧表示
cut -d -f1 /etc/passwd
ユーザーに変更
su user
/var/spool/cron/user に記述
crontab -e
# 毎日、日付変更の 5 分後に実行する
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
例)指定日時(10/1_3:00)にhoge.shを実行する。
0 3 1 10 * /usr/local/bin/hoge.sh
例)毎日、2時にhoge.shを実行する。
0 2 * * * /usr/local/bin/hoge.sh
例)月初めにの5時にhoge.shを実行する。
0 5 1 * * /usr/local/sbin/hoge.sh
例)2時間ごとにhoge.shを実行する。
0 */2 * * * /usr/local/bin/hoge.sh
http://park15.wakwak.com/~unixlife/linux/sys-cron.html
cut -d -f1 /etc/passwd
ユーザーに変更
su user
/var/spool/cron/user に記述
crontab -e
# 毎日、日付変更の 5 分後に実行する
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
例)指定日時(10/1_3:00)にhoge.shを実行する。
0 3 1 10 * /usr/local/bin/hoge.sh
例)毎日、2時にhoge.shを実行する。
0 2 * * * /usr/local/bin/hoge.sh
例)月初めにの5時にhoge.shを実行する。
0 5 1 * * /usr/local/sbin/hoge.sh
例)2時間ごとにhoge.shを実行する。
0 */2 * * * /usr/local/bin/hoge.sh
http://park15.wakwak.com/~unixlife/linux/sys-cron.html
2008年10月6日月曜日
2008年10月5日日曜日
Linux:ハードディスクを増設したい
Linuxをファイルサーバとして利用していると,「/home」などのディレクトリを別のハードディスクに移動したいことがある。そんな時は,新たにハードディスクを増設して任意のマウントポイントを作成すればよい。
http://www.itmedia.co.jp/help/tips/linux/l0112.html
http://www.itmedia.co.jp/help/tips/linux/l0112.html
2008年10月2日木曜日
jQuery :HTMLが読み込み終わった後に実行する
jQueryでは,HTMLが読み込み終わった後に実行するコードを,onload ではなく, $(function(){}) を利用して実行します.
<script type="text/javascript">
<!--
$(function(){
$("<div class='hoge'>ああああ</div>").appendTo("body");
});
// --></script>
<script type="text/javascript">
<!--
$(function(){
$("<div class='hoge'>ああああ</div>").appendTo("body");
});
// --></script>
2008年10月1日水曜日
VIEWのDEFINERユーザーの変更方法
SHOW CREATE VIEW v_table
でviewを確認。
-------------
CREATE
ALGORITHM=UNDEFINED
DEFINER=`otheruser`@`otherhost` SQL SECURITY DEFINER
VIEW
v_table
AS
select count(table.id) AS id_count
from table
where (table.id is not null);
-------------
CREATEをALTERに変更
DEFINER=~を変更
-------------
ALTER
ALGORITHM=UNDEFINED
DEFINER=`user`@`localhost` SQL SECURITY DEFINER
VIEW
v_table
AS
select count(table.id) AS id_count
from table
where (table.id is not null);
-------------
実行。
でviewを確認。
-------------
CREATE
ALGORITHM=UNDEFINED
DEFINER=`otheruser`@`otherhost` SQL SECURITY DEFINER
VIEW
v_table
AS
select count(table.id) AS id_count
from table
where (table.id is not null);
-------------
CREATEをALTERに変更
DEFINER=~を変更
-------------
ALTER
ALGORITHM=UNDEFINED
DEFINER=`user`@`localhost` SQL SECURITY DEFINER
VIEW
v_table
AS
select count(table.id) AS id_count
from table
where (table.id is not null);
-------------
実行。
登録:
投稿 (Atom)