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

$CGI::DISABLE_UPLOADS ではまった

CGI.pm で「$DISABLE_UPLOADS = 1;」として、ファイルのアップロードを無効にしておいたのを忘れて、アップロードを行う CGI を実行しようとしていた。この状態で、 my $q = new CGI; my $file = $q->param('file') としても、「$q->param('file')」の戻り値…

端末がいきなりキー入力を受け付けなくなる

たまに何かの拍子に入力を受け付けなくなってたのだけど、原因が判明した。 無意識の内に Ctrl-s を押していたらしい。Ctrl-s を押すとキーボードからの入力が端末の表示に反映されなくなる。この状況を抜け出すには Ctrl-q を押せばOK。 参考 404 Not Found…

文字列を print すると「Wide character in print at」と出力されて困った

以下のプログラム(参考:作って学ぶ、今どきのWebサービス: 第2回 RSSフィードの料理はLWPとXML::RSSにおまかせ)を実行したら、「Wide character in print at」というメッセージが print を実行する度に出力されてしまった。 #!/usr/local/bin/perl # http…

XML::RSS がインストールできなかった

% cpan XML::RSS が失敗してインストールできなかった。 そこで、google で検索してみると同じ悩みの人が既に解決してくれていたので助かった。 XML::Parserがインストールできなかったよ - urapico's diary どうやら、expat-devel っていうパッケージが足り…

=~ の構文を勘違いしてた

ラクダ本 p.167 によると、Perl の「=~」演算子は左側にスカラー式を、右側に指定された3つのクォート風の演算子 m//、s///、tr/// のどれかと結びつける。 だから、 my $string = "hoge"; print "match!\n" if m/hoge/ =~ $string; は間違いで、以下が正し…

my と local の話より do{}->() が分からなかった

my と local のサンプル - IT戦記を見ていろいろ試してみたけど、どうしても「do{}->()」の部分の挙動が分からなくてモヤモヤしていた。 そしたら、最高に分かり易いエントリを見つけたので、以下にメモしておく。ホントに感謝。 [Perl] my と local と our …

colinux 上の Fedora7 に Apache をインストールする

オライリーの「CGIプログラミング」で Apache が必要になったのでインストールした。インストール手順をメモしておく。 Apache が既にインストールされているか確認 % yum list installed | grep httpd インストールされていなかったので、yum で入れる % su…