2バイト文字列の外部コード→内部コード変換

use Encode; $str = Encode::decode($fromenc,$str);

ファイルからの読み込み

open(FILEIN,"; close(FILEIN); #$contents = join('',@contents); #contentsは内部コード文字列

ファイルへの書き出し

#$strは内部コード文字列 open(FILEOUT,">:encoding(Shift_JIS)",$filename); #または open(FILEOUT,"> $filename"); print FILEOUT $str; close(FILEOUT);

リスト、ハッシュ、リファレンスのダンプを出力する

use Data::Dumper; open(FILEOUT,">:encoding(Shift_JIS)","logfile.txt"); print FILEOUT Dumper($reference); close(FILEOUT);

sprintf

$str = sprintf("num:%02d",$num);

日付の加減算を行う

use Date::Calc qw(Add_Delta_YMD); my ($year,$month,$day) = Add_Delta_YMD($year,$month,$day,$Dy,$Dm,$Dd);

.ユニークなIDナンバーを生成する(システム時間+プロセスIDの15桁)

my $uniqueid = sprintf("%010d",time()).sprintf("%05d",$$);

HTMLを表示する

print EOD"; Content-type: text/html;CHARSET=Shift_JIS$html EOD xmlの場合はこんな感じ print EOD"; Content-Type: text/xml Accept-ranges: bytes$xml EOD

検索パスを追加する

BEGIN {unshift(@INC,'/var/www/html/hogehoge/cgi-bin')};

入力パラメータを読む

my ($param1,$param2) = @ARGV;

現在の「年」「月」「日」「曜日」を得る

my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time()); $mon = $mon + 1; $year = $year + 1900;

CGIのリダイレクト

print "Location: http://hogehoge.jp/index.html\n\n";

CGIモジュールを使ってCGIパラメータを読み込む

use CGI; my $query = new CGI; my %param = $query->Vars;

標準入力からデータを読み込む

my $val = '';#ここに入力データが入る chop($val = );

ヒアドキュメント

$val = EOD"; EOD

一時的にあるディレクトリにコマンド実行のパスを通したい

コマンド実行可能なパスを追加する export PATH=/usr/share/ssl/misc:$PATH

ネットワークインターフェイスの状況を調べるには

ethtoolコマンドというのがあるので、それを使うとよい http://www.atmarkit.co.jp/flinux/rensai/linuxtips/610netchk.html こんな感じになります % ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/…

標準出力と標準エラー出力

標準出力と標準エラー出力を両方まとめて他のコマンドに渡すには % command 2>&1 | less とし、標準出力と標準エラー出力をまとめて file に書き出す場合は % command >file 2>&1

ある特定のディレクトリ内の、特定の拡張子のファイルの属性を変更する

#/var/www/foo.com 内の *.cgiを755にする chmod 755 `find /var/www/foo.com/ -name \*.cgi -print`

tarの使い方いろいろ

http://x68000.q-e-d.net/~68user/unix/pickup?tar に詳しく書いてあるのでそちらを見た方がよいのですがhoge.tar の中のファイル一覧を見るとき % tar tvf hoge.tar hoge.tar.gz/hoge.tgz (hoge.tarを gzip で 圧縮したもの) のファイル一覧を見るとき % ta…

apacheのIP制限の一覧を表示

超適当 find /usr/local/apache2/conf -type f -print > /tmp/grep.tmp;locate .htaccess >> /tmp/grep.tmp;cat /tmp/grep.tmp | xargs egrep -i "allow:space:+from" | mail -s "Report from `hostname`" foo@bar.com

ファイルを検索して一覧表をファイルに吐き出す

/以下から x-sjis-unicode* を検索して filesに吐き出す find / -name x-sjis-unicode\* -print 2>/dev/null >files

パスワード入力無しSSHログイン

自動rsyncなどを行うために、SSHログインの際にパスワード入力を省略する方法。 セキュリティを高めるために、接続元ホストを限定したり出来る。 以下のページを参考にすると良い rsync + cron + ssh (rsyncd を立てない編) http://www2s.biglobe.ne.jp/~n…

rsync

rsync -avz -e ssh --delete [SRC] [DEST] [SRC][DEST]は、[USER@]HOST:DEST形式で記述 -v,--delete は必要に応じて付ける --exclude-from=[exclude_list_file]というオプションもある。 --bwlimit=[bandwith]というオプションもある。

OSのバージョン番号を調べる(RedHat)

一般的にディストリビューションのチェックは、/etc/issueや/etc/redhat-releaseの内容、"uname -r"の出力を調べることで行なわれます。

かっこいいRSSリーダー

via http://adinnovator.typepad.com/ad_innovator/2006/06/moqvorss.htmlロゴやサムネイルが入るだけでもだいぶ幸せ感が増すなぁと思った。 テキスト主体のコンテンツであっても、ちょっとした画像の力って大きいのではないかと。今wikiベースで自分用の情…

MovableTypeのstashについて

stashとは、MTオブジェクトを呼び出すための便利なメソッドだ。 本来はMTのプラグインを作るときに使うものだが、 MTPerlScriptプラグインと組み合わせて使うことで、MTテンプレートの中でもこれを使うことができる。 つまり、テンプレートの中でMTオブジェ…

mysqlについていろいろ

http://www.rfs.jp/server/mysql/01/08.html よりMySQL 4.0 パッケージのインストール中に、"libmysqlclient.so.10 is needed by ..."といったような依存関係エラーが発生した場合、MySQL-shared-compatパッケージもインストールする必要があります。このパ…

これぞweb2.0

simpleAPIという最近話題のWeb上のサービスがある。 これはあるURL(例:http://img.simpleapi.net/small/http://www.google.co.jp/)にアクセスすると、 対象となるWebページ(この場合はhttp://www.google.co.jp/)のサムネイルを返してくれるというものだ…

wisdom of cloud の成り立つ条件

最近世間でよく耳にする言葉として、「wisdom of cloud」というのがある。 訳すと「群衆の英知」だとか。 集団の中の一番優秀な個人が発する意見よりも、集団の意見の組み合わせの方がよりすぐれた意見であることが多い、ということらしい。日本で「ネット上…