揮発性のメモ2

知識をメモ書きしておく

2010-08-01から1ヶ月間の記事一覧

Use of uninitialized value in なんとか

#!/usr/bin/perl use strict; use warnings; open( my $fh, 'hoge' ) or die 'ERROR:open:$!'; my $a = <$fh>; print "$a\n"; このコードは、ファイルhogeが空っぽのときに7行目でwarningが出る。 Use of uninitialized value in concatenation (.) or strin…

perlで数値と文字列の変換

0xとか0とかが使えるのは数値リテラルだけ。文字列リテラルから数値リテラルへの自動的な変換では10進にしかならない。 $val = '0777' + 0; print "$val\n"; $val = 0777 + 0; print "$val\n"; $val = '0x0777' + 0; print "$val\n"; 777 511 0

椅子のキャスター

キャスターの固さとかについて 素材 かたさ 耐久性 ナイロン製 かたい ながもち フローリングに使うと即死する ウレタン製 ふつう ふつう フローリング用 ゴム製 やわらかい 短命 ゴミがくっつきやすい 今使っている椅子のキャスターがナイロン製でフローリ…

perlでURIデコード

URLデコードなのかURIアンエスケープなのか用語が不統一でよくわからないけど Perl で url エンコードと url デコード1行にしてsedモードとかで動作させると perl -pe 'tr/+/ /,s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2",$1)/eg'

いろいろな言語でflock()

中ではflock(2)を呼んでるのだからあたりまえだけど C,perl,php,bash(flockコマンド) でflock()がお互いにちゃんと機能しあうことを確認した。 次は違う言語同士でのプロセス間通信だ

バックログの指定

listenのバックログが指定できない - 揮発性のメモの続きhttp://www.linux.or.jp/JM/html/LDP_man-pages/man2/listen.2.html int listen(int sockfd, int backlog); backlogでバックログの数=accept()待ちの接続のキューの数を指定できる。 ということにな…

Volcanic

こんなん出るんだ。知らなかった。

改行をスペースに変換

findやlsの実行結果の改行をスペース区切りに変換する my $loglist = `find -name "HOGE*.log" -o -name "PIYO*.log" -o -name "FUGA*.log"`; $loglist =~ s/\s+/ /sg; print "loglist is '$loglist'\n"; loglist is 'HOGE1.log HOGE2.log PIYO1.log PIYO2.l…

findはファイルの時間を秒単位で見てくれる

touch /tmp/hoge ; while [ -n "`find /tmp/hoge -mmin -1`" ]; do date; sleep 1; done

perlで設定ファイルの読み方

○○=△△みたいな設定ファイルを読む。 # 設定ファイル HOGE = hogehoge PIYO = piyopiyouse strict; use warnings; # 連想配列に設定ファイル読み出し my %s; if( open FH, 'hoge.conf' ){ while(<FH>){ $s{$1}=$2 if(/^(\w+)\s*=\s*([-.\w]+)/); } close(FH); } #</fh>…

右クリック禁止禁止

operaの設定のJavascriptのオプションで コンテキストメニューのイベントを検知するスクリプトを許可 のチェックを外す Googleの検索結果のURLをコピーするとき、右クリックした瞬間にURLをくしゃくしゃにされる(こんな感じ)のを抑止できる。

***UNCHECKED*** ***UNCHECKED*** [hoge:0001] ***UNCHECKED*** ***UNCHECKED***

お名前.comでレンタルしているメールサーバは、パスワード付きzipファイルを添付するとウィルスチェックの一環として、 ***UNCHECKED*** という文字列がサブジェクトに付く。 送信、受信どちらでもチェックをおこなうので、あて先に自分を書いておくと、届く…

warning: enumeration value `FUGA' not handled in switch

C

enumをcase文で使うと、未使用分をWARNINGで教えてくれる。 10: typedef enum { HOGE,PIYO,FUGA, } tekito_e; ・・・ 101: switch( a ){ 102: case HOGE: 103: case PIYO: 104: hogehoge(); 105: break; 106: } tekito.c:106: warning: enumeration value `F…

この APT は Super Cow Powers 化されています。

# apt-get -f install libisc52 を展開しています... `/usr/lib/libisc.so.50' を上書きしようとしています。これはパッケージ libisc50 にも含まれています ・・・ E: Sub-process /usr/bin/dpkg returned an error code (1)さて、どうしようかな。