|
>>1927 ミング 私の勘違いでなければ #!/usr/bin/awk -f { for (i = 0; i < 4; ++i) for (j = 0; j < 4; ++j) print($1 "-" i + 1, j + 1, $2 + 100 * j, $3 + 100 * i) } で済む話だと思うんですが... 今の問題は、制御の流れを追って考えれば分かるのでは。 (1) 暗黙にstdinから1行入力 (2) 最初のアクションで、out1に4行出力 (3) 2番目のアクションで、out1から1行入力 stdoutに4行出力後、(1)へ (3)のgetlineで1行しか読んでいないので、(1)で EOFが来る頃には、まだout1の1/4しか処理していない訳です。 |
|
68userさん、ありがとうございました。 まだ、うまくはできていませんが、がんばってみます。 splitword、cgiutils.cは見落としてました。 幸い本に掲載されていましたので、解決できそうです。 まだ、未熟者なので、わからないことが多々あると思います。 そのときは、お手数ですがよろしくお願いいたします。 |
|
なるべく早くGOOやinfoseek にかからないようにしてほしいのですけど… 特にSEGA BBSは… |
|
>>1935 ED > GOOやinfoseekにかからないようにしてほしいのですけど… なぜですか? (何となく想像できますけど) ちなみに、そうするかどうかは考えておきます。 > 特にSEGA BBSは… SEGA BBS 以外でもロボットの検索対象から外したほうがよい コンテンツがありますか? |
|
とある(無料)サーバに ~hogehoge というファイルをFTP転送しました が,これは作業中のバックアップ用ファイルを誤って転送したものです。 そこでWindows用FTPソフトを使って削除しようとすると, >DELE ~hogehoge 550 ~hogehoge: No such file or directory という結果になります。ちなみに相手方は ProFTPD です。 まあ当然といえば当然の結果かも知れませんが,いったいどうすれば削除で きるでしょうか。コマンドを手動入力することは可能です。恐らくは ~ を 別の形式で表現すればいいのだと思いますが,どうも分からないのです。 ファイルが残っていても実害はないのですが,何となく気持ち悪いので, よろしくご教示ください。 |
|
UNIX同士の通信で、TCP/IPのソケットを使ってHTTPのPOSTでデータのやり取りをしたいのですが、どのようにすればいいのでしょうか?? 理解不足でもしかしたらわけわかんない質問をしているかもしれませんが、お願いします。 ソケットでのデータのやりとりだと思ってください。 また、TCP/IPプロコトルとHTTPは別もの??これもわけわかんないですか? |
|
>>1937 CZ そのファイルをフルパスで指定すれば消せませんか? DELE /home/hoge/~hogehoge みたいに。 >>1938 ほいほい http://x68000.startshop.co.jp/~68user/net/ 68userさんがせっかくこういう物を提供してくださってるんですから 読みましょうよ・・・。 |
|
>>1939 hsj たすかりました。 なんかいろいろ見てて混乱してました。 いまみたら、理解しました。どうもすいません・・・・・ |
|
メールでいただいた質問ですが、勉強になったのでこちらでお返事。 > http://x68000.startshop.co.jp/~68user/net/perl4.html > にも書かれていますが > Perl4では SOCK_STREAM の値を直接指定しなければならない > となっておりますが、Perl4の場合 > require 'sys/socket.ph'; > とするのでは無いでしょうか? > (perl4環境が無く、人づてなので当てずっぽうです。) なるほど、既に perl4 のラクダ本も手元になく、常用環境には perl5 しかないので知りませんでした。あのページには perl4 なら sys/socket.ph を使うよう追記しておきます。 > また、サンプルの > > socket(SOCKET,PF_INET,SOCK_STREAM,0); > ですが、protocol だけが直接、値を指定しているのは > 何故でしょうか? TCP や UDP を使う場合は 0 でよいです。/etc/protocols には ip 0 IP # internet protocol, pseudo protocol number tcp 6 TCP # transmission control protocol udp 17 UDP # user datagram protocol となっていますので、TCP を使う場合は socket(SOCKET, PF_INET, SOCK_STREAM, 6); socket(SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp')); などと明示的に指定してもいいです (可読性と、NIS への対応 という面から見ると後者がよい)。 しかし、アドレスファミリ(PF_*) とソケットタイプ (SOCK_*) の 値が決まると、プロトコルは一意に定まります (なぜかはよく わかりません)。なので、プロトコルに 0 を指定すれば、自動的に 適切なプロトコルが決定されます。 FreeBSD なら socket(2) の下請け関数である socreate で http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/sys/kern/uipc_socket.c?rev=1.97 int socreate(dom, aso, type, proto, p) if (proto) prp = pffindproto(dom, proto, type); else prp = pffindtype(dom, type); と検索を行う関数 pffindtype が呼ばれています。 なお、ICMP をしゃべったり、IP データグラムを直接生成する ために raw ソケットを生成したい場合は 非 0 を指定します。 |