すぐわかるPerl
ヒアドキュメントを利用してHTMLを吐き出す以下のようなPerlプログラムをつくってみた。 #! /usr/local/bin/perl print <<EOF; <html> <body> こんにちは! </body> </html> EOFが、文法は正しいのに "Can't find string terminator "EOF" anywhere before EOF..."というエラー。 エラー原因…
終わったー。9月から始めて現在12月31日。4ヶ月で334ページ消化したのか。 進行ペースとしては不満が残った。生活の乱れが学習速度に悪影響を与えてしまっている。改善すべき問題だ。 それはともかくまだまだPerl初心者であるものの、プログラミングというも…
デバッグの結果考えたことをまとめてみます。 おそらく思ったとおりの実行結果が得られないのはプログラムのopen命令の中身に原因があると思っています。 「すぐわかるPerl」によると、ファイルを入力モードで開くときのopen命令の構文は open(ファイルハン…
最後の最後でつまづく。 疑問点はCGIプログラムからWebサーバ上のhtmlファイルを更新できるか否か、という点。 12/31 追記 12/29日のエントリのコメント欄で、いつもアドバイスをくださるid:kidd-number5さんからやはりできなさそうだ、という助言を頂く。エ…
OK. HTMLから受け取ったデータをPerlの正規表現でHTMLで使用できるデータに変換し、それを再びHTMLとして出力する。 こんな風HTMLと絡めてPerlを活用できるのかと、目からウロコ状態。
OK. 補足としては、HTMLでは空白を" :"で表す。ミスタイプ だから空白は" "(&nbsp;)だって! コメント欄のkidd-number5さんのアドバイスを参照のこと!
OK.
OK.
OK.
OK.問題無し。 図書館に行って「プログラミングPerl」で「スコープ」について調べる事。 12/31 追記 スコープとは変数が適用される範囲のこと。 C言語にもある重要な概念のようだ。
OK. なんだかプログラムっぽくなってきた。
OK. 配列を空配列として初期化できるようだ。 その場合は @hoge = (); の様に記述 それから「はじめてのPerl」第10刷p245ページに間違い。 プログラムdblistkの実行結果に150という値があるが、実際にはその様な値は存在していない。 要注意。
dbmデータベースはUNIXに標準装備されているから自分の環境では利用できないだろう、と思いつつ実際にサンプルプログラムを作成してみると、難なくdbmデータベースが使用できた。なんだこれ? 「初めてのPerl」で調べてみると、Perlを使える全てのシステムで…
dbmとは、UNIXに標準装備されているデータベースで.pagファイルと.dirファイルで構成される。 Perlの命令dbmopenでdbmデータベースとハッシュに結びつけることが出来る。
http://www.att.or.jp/perl/man/perldiag.1.html エラーメッセージの訳
OK. ただしuse strict について一度調べること。 (12/24)追記 どうやらuse strictを用いた場合はハッシュ、配列共にmy宣言が必要みたいだ。
「すぐわかるPerl」の233ページのサンプルプログラムkudamonoの通りのコードを書くと何故かエラーが。 おそらくコマンドプロンプトで出力された"Odd number of elements in hash assignment at kudamono.pl line 4."というエラーが原因と予測。 サンプルプロ…
Perlで用いられている「ハッシュ」は自分が知っている「ハッシュ」とは微妙に意味が違うみたいだ。文字列を添え字として使える配列といった印象を受けた。 ハッシュ関数は使われているのか、メモリはどのように確保されているのか、「初めてのPerl」で調べる…
「すぐわかるPerl」だけでは説明が物足りない箇所が多い。 明日図書館に行って「初めてのPerl」を借りてこよう。 それと、qw便利すぎ
'wc'はUNIXのコマンドらしい。下記のページを参照のこと http://www02.so-net.ne.jp/~oable/okui/unix_howto.html#wc サブルーチン内ではローカル変数の宣言を必ず行うこと!
UNIXはmailコマンドなんて用意されているのか。CUIだけでメール送信が出来るなんて凄すぎる。
課題 open,close命令の構文を暗記 それからファイルハンドルを理解 open命令の重要事項。 open命令で出力モードのときは物理ファイル名の直前に">"をつけること。 それに対し、物理ファイル名の直前に">>"をつけると追加書きモードになる。
制御構造としてのand,orは自然言語として読むと良くわかるという例。 Perl作者のLarryWallさんは言語学者だそうで、そんな人がプログラミング言語を造るとこういう例が出てくるのかな。 それにしてもLarryWallさん、言語学者でありながらプログラミング言語…
UNIXコマンドを使用する部分以外はOK.
すぐわかるPerlを勉強し始めてからエディタはMeadowを使ってます。 はてなではEmacsが流行っていて使用のメリットが物凄く大きい、とのことなのでEmacsの代替用としてMeadowを選びました。 しかしこのMeadow、キーバインドがたくさんありすぎてしょっちゅう…
id:naoyaさんのPerl の変数に関するちょっとした誤解と、動的な性質について : NDO::Weblogで書かれていた use strict,use warningsはどんなに短いプログラムであっても、しっかり書いていこう。
[8.5]エラーチェックを入念に OK.
[8.4]ディレクトリ内のファイル連続処理 サンプルプログラムはよく理解できているのだが、如何せんUNIXコマンドが使えないのがツライ。repって何なんだろう?おそらくReplaceのrepなんだろうけど。 ググってもばっちり特定できるようなページは見つからない…
Cygwinをインストールしてみたものの、環境変数の設定などで早くもつまずく。 参照した解説サイトが初心者向けに解説していないので難しい。 ひとまずCygwinはおいといて、時間があるときに勉強するか…。
[8.3]systemコマンド OK.