UNIX MAGAZINE 1991年3月号

キーフレーズ

UNIX MAGAZINE NFS コマンド ファイル ネットワーク クライアント 指定 ファイルシステム オプション usr サーバー 文字列 1991 etc システム 機能 ワークステーション 場合 SPARCstation 実行 xdm NEWS 設定 SPARC インターフェイス ソフトウェア 出力 端末 FDDI CPU ページ ホスト NEWS-OS root プログラム マウント Sun Nemacs Ethernet 入力 高野 make 使用 char indent シリーズ アクセス 対応 NCD 可能 使っ alias 000 local 開発 regexp XDMCP 接続 処理 ウインドウ インデント 環境 サポート DOS 利用 しよう print ディレクトリ argv フォント できる 検索 offset X11 変数 データ lib 情報 必要 登録商標 アプリケーション ディスク XMiNT 日本 引数 gdb 正規表現 Tel tftpboot argc comment LAN 表示 コンフィグ -1 ポード 文字 坂下 TCP/IP

目次ページ

1 2 4 5 7 8 9 10 11 12 Daemons and Dragons while ( くエ N > ) $fieldcount = 0 ; die "Can' t open master. spec't if (open(IN, "master. spec") ! = 1 ) { $fieldcount + = $ ー [ 0 ] ; $start{$- [ 2 ] } = $fieldcount ; split (/\t/) ; chop ; if (substr($-, 0 , 1 ) eq " ) { next; } 13 } 1 sub field { 除く。 9 行目では、標準的な awk の機能を使って読み込ん / 込まれる ) 。 7 行目でコメントを、 8 行目で改行文字を取り を行単位で処理している ( 処理の対象となる行は $ ーに読み 文字目にあるか ) を示す。次の while ループでは、ファイル 列の行全体からみたオフセット ( その文字列が行頭から何 初期化をおこなっている。この変数は、各行に現れる文字 法で ) オープンしている。 4 行目では、変数 $fieldcount の 最初の 4 行で、入力のためのファイルを ( かなり安全な方 連想配列にれもフィールド名で参照 ) である。 名で参照 ) 、 @ start はあるフィールドの始まる場所を示す る。 @ len はフィールド長についての連想配列 ( フィールド この 14 行からなるルーチンは、 2 つの配列を用いてい 14 close (IN) ; 、ゝだ行をタブを目印にしてフィールドごとに分けている ( こ の部分については次号で解説する ) 。デフォルトでは、 split 関数は各要素を配列@ ーに格納する。次の 3 行は、各フィー ルドの位置を見失わないように番号の割当てをおこなって いる。 こまでくれば、ある行の任意フィールドにアクセスす るのは簡単である。この処理をおこなう関数は、ある入力 行にのルーチンではつねに $ ーで示される ) から文字列を 返す。この関数に莎える引数は 1 つで、フィールド名 ( 前述 の master. spec 中の〃の ) である。引数は、関数 field この関数 field は、次のようになっている。 で配列@ ーの最初の要素として格納される。 2 3 4 5 6 1 。 c 訌 ($out) ; die "lnvalid field request $ ー [ 0 ] " if ($start{$- [ 0 ] } eq " " ) ; return $out ; 2 行目では、ローカル変数 $ out のセットアップをおこな っている。型の情報については記述されていないが、これ は変数宣言の一種である。 3 行目ではフィールド名が有効 か ( 定義されているか ) どうかをチェックしており、 でに紹介した方法とは異なる形式で書かれている。 示した方法では、実行時には 1 つの master. spec ファイ ルしか読み込んでいないという点に注思してほしい。そし て、 5 行目で関数の結果を返す。 今回は、 perl のさわりの部分をざっとみてきた。次号で は正規表現やシステムコール、ディレクトリのアクセス、 サプルーチン、関数、 dbm データベースおよびいくっかの UNIX MAGAZINE 1991.3 例について解説する。 PerI を学び、簡単な例をいくつか試してみるとよい。き っと病みつきになるであろう。 ■ Rob Kolstad ーマや管理者としての体験などがあれば、 [email protected] sun. com または システム管理のさまざまな側面について調査している。扱ってほしいテ UNIX REVIEW 1990 年 5 月号より 「 Perl: The Super-Language 」 uunet!sun!kolstad まで送ってはしい。 73

連載 LittIe Language [email protected] JP PerlA 門 (7) ついに PerI の本が出版されます ! ! 本誌が店頭に並ぶ ころには、すでに何人かの読者はその本を手にしているこ とでしよう。タイトル、著者および構成は次のとおりです。 はじめに - Quick Reference Guide ー lndex ー Glossary ー Appendix B: The Perl Library - Appendix A: Semi-Formal Description ー Other Oddments ー Real Perl Programming ー Common Tasks With Perl Functions ー The Gory Details ー Practical Programming ー An Overview of Perl xxv 十 440 pages, US $ 24.95 ISBN 0 ー 937175 ー 64 ー 1 By Larry WaII and Randal L. Schwartz NutsheII Handbook , Programming Perl 74 から 16 回のパッチファイルが出たことになります。まも しまいました。前回書いたときはまだ 28 でしたから、それ さて、 perl 本体のほうはなんとパッチレベル 44 まで来て る人はいないでしようね : ー ) してくれるという記もありました。まさか、日本から送 は、送科を添えて筆者宛に本を送れは・サインをして送り返 サインパーテイも開かれるようです。 comp. lang. perl に 出版され、 1 月 22 日には Grand K Hotel で出版記念の この本はダラスでおこなわれる USENIX に合わせて なく 4.0 がリリースされるというニュースも耳にしまし た。 44 は 4.0 の前の最後のパッチだということですが、本 当でしようか。 マニュアルも Texinfo 版や日本語版が入手できるよう になり、だいぶ使いやすくなってきました。最近は、日本 語処理機能を追加した jperl というのもあるようです。昨 年の UNIX Fair ' 90 では、 perl のチュートリアルも開か れました。それほど人数は集まらなかったようですが、 perl が日本の UNIX 文化にも徐々に浸透しているのはたしか なようです。その UNIXFair で、びつくりするほど盛況 だったのがネットワークに関するチュートリアルです。ネ ットワークを使ってアプリケーションを開発する必要に迫 られている人がそれだけ多いということなのでしようか。 ならは、というわけでもありませんが、今月のプログラム はネットワークにしましよう。 ます、バッチレベル 28 から 44 までにどんな変更があっ たかを簡漿に書いておきます。最近はバグの修正やスピー ドアップなどが主体で、新しい機能はあまり増えていませ んが、それでもいくつか追加されています。 ・ SystemV IPC SystemV の IPC の機能が利用できるようになりまし た。もちろん、この機能をサポートしている OS でしか使 えません。増えた関数は次のとおりです。 msgctl ()D , CMD ARG) msgget (KEY , FLAGS) PerI 3.0 ー 44 までの変更点 UNIX MAGAZINE 1991.3

ニューフェイスを プロにする、 DZ ー XCO 日間、 td O = 日間。→ 誰か教えるのか、どのように指導すれば効果か得られるのか 技術者教育に頭を悩ます担当の方々に、 富士ゼロックス総合教育研究所はお応えします 連載 / Li Language¯ msgsnd ()D MSG , FLAGS) msgrcv ()D , VAR , SIZE TYPE , FLAGS) semctl ()D , SEMNUM , CMD ARG) semget (KEY , NSEMS , SIZE , FLAGS) semop (KEY , 〇 PSTRING) shmctl ()D , CMD ARG) shmget (KEY , SIZE , FLAGS) shmread ()D , VAR , P 〇 S , SIZE) shmwrite ()D , STRING , P 〇 S , SIZE) ・ cmp と←〉 cmp と←〉というオペレータが追加されました。これ は、 sort で使うと便利なもので、 $a く = > $b のようにすると、 $a のはうが小さいときには一 1 、同しなら 0 、大きければ 1 を返します。く = 〉は数値、 cmp は文字列 変数に対して使います。 ・ caller 現在実行しているスクリプトが、どのように呼はれたか を調べることができるようになりました。 ($package ,$filename,$line) = caller; のように実行すると、そのサプルーチンが呼ばれたバッケ ージ、ファイル名、行番号が分かります。 ・ sysread 、 syswrite perl には入出力用として read と print という関数が 用意されていますが、実際に内部的に呼はれるのはバッフ アリングをおこなう fread と fwrite です。これに対し、本 当にシステムコールの read 、 write を実行するために sysread と syswrite という関数が追加されました。 また、 read には sysread とともに 4 番目の引数が追加 され、変数の途中にデータを読み込むことができるように なりました。 ・ DATA ファイルハンドル -x オプションをつけて実行すると、一一 EOF ーの後のデ ータカ鰾準入力として扱えます。このデータは、どんな場 合でも DATA というファイルハンドルから読み込むこ とができます。データをスクリプトに続けてファイルに入 れておけるので便利です。 ミ ・開催日 ・オペレーティング・システム入門セミナー = UNIX 上てのオペレーション = 第 53 回 / 3 月 5 日火 ~ 7 日木 第 54 回 / 4 月 9 日火 ~ 11 日木 ・ C プログラミング入門セミナー 第 53 回 / 3 月 12 日火 ~ 15 日金 第 54 回 / 4 月 16 日火 ~ 19 日金 ・ C プロクラミング応用セミナー 第 31 回 / 3 月 26 日火 ~ 29 日金 第 32 回 / 4 月 23 日火 ~ 26 日金 ・実践プロクラミングセミナー = UNIX 上てのソフトウェア開発 = 第 33 回 / 2 月 26 日火 ~ 28 日木 第 34 回 / 4 月 2 日火 ~ 4 日木 ・ SmaIItaIk-80 基礎編 第 32 回 / 3 月 11 日 ( 月 ) ~ 15 日金 第 33 回 / 4 月 22 日 ( 月 ) ~ 26 日金 ・ SmalltaIk-80 プログラミング編 第 9 回 / 3 月 25 日 ( 月 ) ~ 29 日金 ・ SmaIItaIk-80 応用編 第 2 回 / 4 月 8 日 ( 月 ) ~ 12 日金 ■開催場所 ( 東京・新宿 ) ソフトウェア技術研修所セミナー・ルーム ※ UNIX は AT&T ( 米国電話電信会社 ) のベル研究所 が開発した OS て、す。 ※セミナーのお申し込み、お間い合わせはド記へ FWI XEROX LEARNI NG INSTITUTE C. 富士セロックス総合教育研究所 メディア・システム部担当 : 大石 〒 170 東京都豐島区東池袋 3 ー 1 ー 1 サンシャイン 60.17 階 電話 03 ( 5391 ) 3311 FAX03 ( 5391 ) 2550 75 UNIX MAGAZINE 1991.3