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

文字列与えてループして、中でそれをeval

Sh

#!/bin/sh OLD_DIR=${HOME}/work/old NEW_DIR=${HOME}/work/new for TARGET in OLD NEW do eval echo \$${TARGET}_DIR done職場のシェルスクリプトのソースみて「なるほどなぁ」と思いました。 /home/user/work/old /home/user/work/new

ファイルアップロード時にプログレスバーを表示

Catalyst::Plugin::UploadProgressというCPANモジュールを使ってみました。 http://search.cpan.org/~agrundma/Catalyst-Plugin-UploadProgress-0.04/lib/Catalyst/Plugin/UploadProgress.pm 使い方は非常に簡単でexampleもついているので、ここで余計な説明…

シェルスクリプトでftp転送

シェルスクリプトでftp転送する処理のサンプル。メモ。 #!/bin/sh DATE=`date '+%Y%m%d'` tar cvfz ${DATE}.tar.gz ./hoge ftp -ivn 192.168.11.11 << __END__ user username password bin # バイナリ転送モード passive # パッシブモードoff cd /foo/var pu…

Perlネットワークプログラミングのメリット

[rakuten:book:11121444:detail] 前に標準ファイルハンドルとIO::Fileモジュールのベンチマークなんて事を試したりしましたが、この著書の第1章にあった説明を読んで「なるほど、そういう視点か」と思いました。IO::Fieは単なるラッパーなんだけど、IO::Sock…

シグナルを捕捉してみる

id:naoyaさんが紹介されていたこの本を読み始めました。Perlというより、ネットワークプログラミングの基礎がきっちり書いてあるので、ネットワークプログラミングの基礎が理解できていない自分にとっては、とても勉強になる書籍だと思います。 [rakuten:boo…

ハッシュの要素削除はdeleteで

ハッシュの要素削除はundefじゃなくてdeleteですね。undefだと値を未定義値にするだけです。 #!/usr/bin/perl use strict; use warnings; my %hash = ( hoge => "hogehoge", foo => "foofoo", var => "varvar", ); print "--- undef ---\n"; undef $hash{hog…

標準ファイルハンドルとIO::Fileモジュールのベンチマーク

IO::Fileと普通にファイルハンドル使うのとどっちが速いのかなぁと思い、ベンチマークスクリプトを書いて試してみました。Perlのバージョンは5.8.8です。 #!/usr/bin/perl use strict; use warnings; use IO::File; use Benchmark; my $file = "hoge.txt"; t…

UNIXコマンド呼び出しと組み込み関数のベンチマーク

Perlのベンチマークスクリプトを書いた事がなかったので、試しに書いてみました。シェルのlsコマンドを呼ぶ場合と、opendirしてループでreaddirする場合(=Perl組み込みのサブルーチンのみを使用)との性能比較です。 #!/usr/bin/perl use strict; use warn…

0埋め数字文字列だって数値変換される

当たり前すぎる話で恐縮ですが、「0埋め数字の文字列だって数値に変換されるんだなぁ」と何か妙に感心したりして。2桁の0埋め数字(例では"01")から三文字のアルファベットに変換するみたいな事をやって気付きました。 my $datetime = "2008-01-08 23:00:00…

ifブロックとif修飾子でのスコープの違い

今更ながら気づいたのでメモ。まず、ブレースで処理文を囲んだ普通のif分岐。 my $flag = 1; if ( $flag ) { my $lexical_str = "hoge"; } print $lexical_str."\n";上記のコードはuse strictで以下のようなエラーになります。 Global symbol "$lexical_str"…

EM-ONEモデムのノートPCでスピードテストしてみた(広島県広島市内)

広島県広島市内のマンションにて測定してみた結果です。公称は3.6Mbpsですが、体感としてまずまず出ている感じがします。ファイル読み込みとかSSHログインとかやろうとするとさすがにちょっと物足りない感じですが、テキストベースのウェブ閲覧程度ならこれ…

cronで指定したスクリプトの実行ディレクトリはオーナーのホームディレクトリ

なんですね。たいした話じゃないけどメモ。