>>2412 ふくし 自己レスれす。(寒 >とりあえず 1586 行目の直前に >warn "location: $location package: $package\n"; これ、自分でもやってみましたけど、 C:\> ppm と打っただけではココは通らないみたいでした。 ぶぶさん、 PPM.pm の 1586 行目はぼくと同じですか? (バージョン、レベルは同じなんだけどなァ) あと、ほんとに C:\> ppm と打っただけで怒られます? それともなんか実のあること(パッケージのインストールとか)を やろうとしてます? 後者の場合は入れたコマンドを教えてください。 |
たびたびすいません!!今学校でパソコン同士のデータのやり取りを、Cプログラムでなんとかやろうとしているのですがわからんのですー!先生はfopenとか使えばできるだろー!!というのですが本を見てもかいてないようなかんじで(_m_!)なにしろ未熟者でわからんのですー!よろしければおしえてもらえますか? |
>>2414 ぶちお > 今学校でパソコン同士のデータのやり取りを、Cプログラムで > なんとかやろうとしているのですがわからんのですー! さて困ったものですね。あまりにもひどい質問の仕方です。 http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse は読んでいただけましたか? パソコンって何ですか? UNIX ですか? Windows ですか? それ以外ですか? 具体的な OS 名とそのバージョンは? データのやり取りって具体的に何をしようとしていますか? フロッピーからデータを読み込むことですか? LAN 経由で ファイルを読むことですか? RS-232C 経由でデータを やりとりすることですか? 今後、こういう調子の質問を続けるつもりでしたら、僕は お相手を致しかねますのでよろしく。 |
ふくしさん、お返事ありがとうございます。 PPM.pmの1586行目付近は、下のようになっていました。 1577:unless ($PPDfile && $$PPDfile) { 1578: foreach (keys %repositories) { 1579: my $location = $repositories{$_}{'LOCATION'}; 1580: if ($location =~ /[^\/]$/) { $location .= "/"; } 1581: $$PPDfile = $location . $package . ".ppd"; 1582: return %PPD if (%PPD = getPPDfile('package' => $$PPDfile, 1583: 'parsertype' => $parsertype, 'PPDfile' => \$$PPDfile)); 1584: undef $$PPDfile; 1585: } 1586: return unless $$PPDfile; 1587:} ちょっと違うみたいですよね。こちらの方が行が短いのでしょうか。 ちなみにDOS窓に入力したのは、 C:\>ppm これだけです。 PPM のシェルでパッケージのinstallをしようと思っているのですが、 とりあえずPPMを起動するため、入力しているのはppmという文字だけ です。そして、ppmとだけ入力すると、例のエラーが出るのです。 少ない情報ですが、何か分かりますでしょうか? やはりActivePerlを入れ直してみた方が良いのでしょうか? よろしくお願いします。 |
>>2416 ぶぶ 先ほど、Windows2000 に ActivePerl を入れる必要が あったので試してみたのですが、ppm とだけ 打つと PPM interactive shell ... と出てエラーは出ませんでした。 インストールしたのは最新の build 631 (perl-5.6.1) です。 再インストールは悪くない選択肢ではないかと思います。 |
>>2416 ぶぶ さん: いま会社で ActivePerl の環境がないのでテストできませんが、 >return unless $$PPDfile; ここで >>Can't use an undefined value as a SCALAR reference (スカラーの参照として、未定義値は使えません) ですよね。 $$PPDFile というのは、 $PPDFile というスカラー変数に スカラーへの参照(別のモノを指し示すもの)が入っていると考えて、 そのスカラーの値を返そうとしているわけですが、 そのとき $$PPDFile に undef が入っているのでくだんのエラーが 出ています。 たぶん $PPDFile という変数にもっと上の方でスカラーへの参照を セットすることを期待して動いていたのですが、 その期待が裏切られているようです。 (その上でいろいろしているのも、$$PPDFiles つまり $PPDFiles が指し示すスカラーメモリに対してで、 $PPDFiles にどのような論理で何が入っているかは 下のコードからは不明です) ・・・という風にさかのぼって研究しても勉強になると思いますが、 (意外ともうちょっとでパキッとわかったりして) いずれにせよこんなアンフレンドリーなメッセージが出て中断するのは 作者の意図と違う動作なので、再インストールでもいいと思います。 |
ふくしさん、68userさん、お返事ありがとうございます。 build631をインストールしてみましたら、何の問題もなくPPMの シェルが起動しました。 インストールしてから、PPM.pmを覗いてみると、1586付近は、 ふくしさんが書かれたものと同じになっていました。 前に入れていたものがおかしかったのでしょうか。入っている pmファイルがおかしいとは夢にも思わなかったので再インスト ールを試さずに質問してしまってごめんなさい。 これでやっとパッケージのinstallができます。ありがとうご ざいました。 PS. ふくしさん、エラーに関する説明ありがとうございます。 エラーの出る仕組みがよく分かりました。 |
ボーランドC++コンパイラーでC言語のCGIを作ろうと思っているのですがどうしたら良いのでしょうか? bcc32 -o CGI名 ソース名 でいけるのでしょうか? よろしくお願いします |
>>2420 初心者 > …でいけるのでしょうか? 試してみた結果どうなりましたか? |
メール受信時に"newaliases"コマンドを実行したいのですが、上手くいきません。 方法としては、特定のアドレスにメールが届いた時点でシェルスクリプトを実行するようエイリアスファイルにて設定しており、シェルスクリプトにはsudoで"newaliases"を実行するよう書いています。 また、sudoersにて"newaliases"コマンドをroot権限で実行できるようにも 設定しています。 "newaliases"コマンドではなく、他のコピーコマンド(cp)などは動作するのですが、"newaliases"コマンドは動作しません。 同じような方法を取られている方がいらっしゃいましたら 設定方法を教えていただけませんでしょうか。 宜しくお願いいたします。 |
申し訳ありません。環境を全く書いていませんでした。 RedHat Linux7.1.J、Sendmail8.11.5 です。 宜しくお願いします。 本文↓ メール受信時に"newaliases"コマンドを実行したいのですが、上手くいきません。 方法としては、特定のアドレスにメールが届いた時点でシェルスクリプトを実行するようエイリアスファイルにて設定しており、シェルスクリプトにはsudoで"newaliases"を実行するよう書いています。 また、sudoersにて"newaliases"コマンドをroot権限で実行できるようにも 設定しています。 "newaliases"コマンドではなく、他のコピーコマンド(cp)などは動作するのですが、"newaliases"コマンドは動作しません。 |
>>2423 橋本 どのユーザが「newaliases を root 権限で実行できる」ような 設定になっていますか? また、sudo のログには何と記録されていますか? |
>>2424 68user だけでは情報が不十分かな…。 sudoers に書いた内容と、「特定のメールアドレスにメールが 届いたらコマンドを実行する」というのをどうやって実現して いるか (/etc/aliases とか /home/foo/.forward とか) も 書いてください。 |
>>2424 68user newaliasesをroot権限で実行できるユーザは"deamon"に設定しています。 理由は、メール受信時に実行されるシェルスクリプトが一体どのユーザで 実行されるか分からなかったため、シェルスクリプト内にメールを送信 するコマンドも記述したところ、"deamon"という送信者名でメールを送信 したため、deamonでシェルスクリプトは実行されると思い設定しました。 ですが、実際はdeamonが実行しているようではないようです。 >>2423 にてcpコマンドなど他のコマンドは動作する。 と記述しましたが、私の勘違いで動作していませんでした。 申し訳ありません。 また全てのユーザに"newaliases"、"cp"コマンドをroot権限で 実行できるよう設定したところ、正常に動作しました。 ですが、全てのユーザに許可してしまうわけにはいかないので、 どうにかして特定のユーザにのみ許可して動作するようにしたいのですが ・・・。 以下設定ログ・設定内容です。 ●メール受信時のログ↓ Jan 21 18:20:16 test sudo(pam_unix)[19079]: authentication failure; logname= uid=0 euid=0 tty= ruse r= rhost= user=daemon Jan 21 18:20:23 test sudo(pam_unix)[19079]: 2 more authentication failures; logname= uid=0 euid=0 t ty= ruser= rhost= user=daemon Jan 21 18:20:23 test sudo[19079]: daemon : 3 incorrect password attempts ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/newaliases ●sudoersに追加↓ deamon ALL= NOPASSWD: /usr/bin/newaliases deamon ALL= NOPASSWD: /bin/cp ●メール受信時に動作するシェルスクリプト↓ #!/bin/sh sudo cp /etc/mail/123.txt /etc/mail/456.txt sudo newaliases mail -s test mailuser@****.co.jp < /etc/mail/456.txt exit 長文で申し訳ありませんが宜しくお願いします。 |
>>2425 68user 「特定のメールアドレスにメールが届いたらコマンドを実行する」は、 (/etc/mail/aliases)に mailuser :"|/etc/mail/mail-program" と記述しています。 よろしくお願いします。 |
>>2427 橋本 > ●メール受信時に動作するシェルスクリプト で /usr/bin/id > /tmp/id.result などとすれば、どの権限で 動いているのかがわかります。 一般的には、/etc/mail/aliases に mailuser :"|/etc/mail/mail-program" とあるなら、/etc/mail/mail-program というファイルの権限で動きます。 例えば % ls -l /etc/mail/mail-program -rw-r--r-- 1 hoge wheel 46632 Sep 19 02:30 /etc/mail/mail-program ならば hoge 権限で動く、ということです。 |
>>2428 ですが、 mail-programの権限は以下のようになっています。↓ -rwxr-xr-x 1 root root 165 1・21 19:55 mail-program また /usr/bin/id > /tmp/id.resutl の結果は以下になりました。↓ uid=2(daemon) gid=2(daemon) groups=2(daemon),1(bin),4(adm),7(lp) やはり"deamon"で実行されているようです。sudoresにも正しく設定して いるつもりなのですが、シェルスクリプトは動作しません。 deamonに関してはsudoが使えないのでしょうか。 何かよい方法ありましたら教えてください。 宜しくお願いします。 |
>>2429 橋本 …ふむ。 deamon でなく daemon です。sudoers を修正してみて下さい。 |
>>2429 橋本 どうもありがとうございます。 deamonではなく"daemon" に修正したところ上手くいきました! とてもお恥ずかしいですが、すごくうれしかったです。 ありがとうございました。 |
こんにちは。ヒサブリに質問です。 下のような CGI で euc、sjis の文字列をブラウザに表示します。 #! perl -w # ~/public_html/cgi-bin/moji.cgi use CGI; use Jcode; my $q = CGI->new; print $q->header(); print $q->start_html(); print $q->start_form(-action=>'./answer.cgi'); $str_euc = 'こんにちは'; $str_sjis = $str_euc; Jcode::convert(\$str_sjis, 'euc', 'sjis'); print "euc: $str_euc <br>"; print "sjis: $str_sjis <br>"; print "unpacked euc: ".unpack("H10", $str_euc)."<br>"; print "unpacked sjis: ".unpack("H10", $str_sjis)."<br>"; print "eq:".($str_euc eq $str_sjis)."<br>"; コード自体は EUC で書きました。 ブラウザの設定を EUC にすると、 当然のように、EUC 部分は正しく、sjis 部分は文字化けになります。 (本当は sjis 部分は半角カナになりました) (http://www/~fukushi/cgi-bin/moji.cgiの表示) euc: こんにちは sjis: 、ウ、・ヲヒ、チ、マ unpacked euc: a4b3a4f3a4 unpacked sjis: 8ea48eb38e eq: これ、ブラウザの設定を sjis にすると、 euc も sjis も文字化けになります。 これはなぜでしょう? (http://www/~fukushi/cgi-bin/moji.cgiの表示) euc: 、ウ、・ヲヒ、チ、マ sjis: 痔宍痔・ヲ射痔蔀痔煮 unpacked euc: a4b3a4f3a4 unpacked sjis: 8ea48eb38e eq: で、下のように出力する文字列を URL から取得します。 #! perl -w # ~/public_html/cgi-bin/moji.cgi use CGI; use Jcode; my $q = CGI->new; print $q->header(); print $q->start_html(); print $q->start_form(-action=>'./answer.cgi'); $str_euc = $q->url_param('greeting'); $str_sjis = $str_euc; Jcode::convert(\$str_sjis, 'euc', 'sjis'); print "euc: $str_euc <br>"; print "sjis: $str_sjis <br>"; print "unpacked euc: ".unpack("H10", $str_euc)."<br>"; print "unpacked sjis: ".unpack("H10", $str_sjis)."<br>"; print "eq:".($str_euc eq $str_sjis)."<br>"; こうすると、ブラウザの設定を euc にすると、 なんと、euc も sjis も正しく表示されます。 (http://www/~fukushi/cgi-bin/moji.cgi?greeting=こんにちは の表示) euc: こんにちは sjis: こんにちは unpacked euc: a4b3a4f3a4 unpacked sjis: 8ea48eb38e eq: ブラウザの表示を sjis にすると、euc 部のみ正しく表示されます。 (http://www/~fukushi/cgi-bin/moji.cgi?greeting=こんにちは の表示) (http://www/~fukushi/cgi-bin/moji.cgiの表示) euc: こんにちは sjis: 、ウ、・ヲヒ、チ、マ unpacked euc: a4b3a4f3a4 unpacked sjis: 8ea48eb38e eq: これはなぜでしょう? サーバーの OS は FreeBSD 2.2.8-RELEASE、 言語は jperl5.005_03-990612 EUC Version(Latin モードで使用)、 クライアントの OS は Windows 2000 server、 ブラウザーは Netscape Navigator 4.75 です。 |
今日は。 Awkで {AA [$1]++} END {for (BB in AA) ...........} とやると、AAの中に有る同じ名前のものが幾つあるか数えてくれると思うの ですが、Perlではどうやったら同じことが出来ますか? 例えば @array=(9, 9, 9, 3, 3, 3, 2, 2, 1) とすると、 9は3個、3は3個、2は2個1は1個あるので、 9=3 3=3 2=2 1=1 としたいのですが、宜しくお願いいたします。 |
>>2433 ミング さん: なんとなく似せて書くと #! perl @array = (9,9,9,3,3,3,2,2,1); for (@array) { $array2{$_}++; } for (reverse sort keys %array2) { print "$_=$array2{$_}\n"; } とか。 「ハッシュ」の機能を使っています。 @array の順番には関係なく、 常に大きな数字から出力していますがいいでしょうか。 (ハッシュを使うと、順不同になるので、、) |
>>2432 ふくし > Jcode::convert(\$str_sjis, 'euc', 'sjis'); 逆ですよー。 Jcode::convert(\$str_sjis, 'sjis', 'euc'); |
だれか、solaris8intel_platformをAT互換機で動作する、LANカードを 知っている方いらっしゃいますか? |
>>2435 68user あ、ほんとだ、、すみませんいつもいつも、、(_ _) で、 #! perl -w use CGI; use Jcode; my $q = CGI->new; print $q->header(); print $q->start_html(); print $q->start_form(-action=>'./answer.cgi'); $str_euc = 'こんにちは'; $str_sjis = $str_euc; Jcode::convert(\$str_sjis, 'sjis', 'euc'); print "euc: $str_euc <br>"; print "sjis: $str_sjis <br>"; print "unpacked euc: ".unpack("H10", $str_euc)."<br>"; print "unpacked sjis: ".unpack("H10", $str_sjis)."<br>"; print "eq:".($str_euc eq $str_sjis)."<br>"; だと euc モードで、どっちの「こんにちは」も正しく表示されるのは なぜでしょうか? |
>>2436 Bourbon どの程度「使える」資料なのかは知りませんが、 ハードウェア互換リスト (HCL) http://soldc.sun.com/support/drivers/hcl_ja/ というのがあります。 |
>>2437 ふくし > euc モードで、どっちの「こんにちは」も正しく表示されるのは > なぜでしょうか? http://x68000.startshop.co.jp/~68user/tmp/moji.cgi を見ても「こんにちは」が正しく表示されますか? もしそうなら、Netscape4 が自動変換しているのでしょう。Netscape4 は、 文字単位か行単位か知りませんが、ファイルの一部についても自動認識/ 自動変換を行っています。 FreeBSD+Netscape4、FreeBSD+Mozilla nightly build で上記 URL を 見ると、必ず片方は化けています。 |
68userさん HCLは知っていましたが、見落としている部分がありました。 じっくり読んでみます。ありがとうございます。 |
たびたびお世話になります。 おかげさまで、この前使えるようになったPPMで、ImageMagickモジュ ールをinstallして、使おうと思ったら、何にも反応なしで困っていま す。いろいろサイトを見て回りましたが、類似問題は見あたらず・・・。 環境は、Perl5.6.1(build631) Windows98です。 この環境に、PPMで、install Image-Magick してImageMagickを入れ ました。 C:\>ppm PPM>install Image-Magick です。 その結果、c:\perl\site\libにはimageディレクトリができていて、 その中にはちゃんとMagick.pmというのもあるようです。 それで、下のを実行してみたのです。 use Image::Magick; $i = Image::Magick->new; $i->Read('test.jpg'); $i2 = $i->Clone(); $i->Scale(width=>100, height=>100); $i->Write('test2.jpg'); すると、Perlそのものは正常に終了する(エラーは出ない)のですが、 test2.jpgはできてないのです。 ちなみに下のようなのも実行してみました。 use Image::Magick; $img = Image::Magick->new; $img->Read('test.jpg'); ($w,$h) = $img->Get('width','height'); print "Content-type: text/html\n\n"; print "<html><head><title>TEST</title></head>\n"; print "<body bgcolor=\"\#ffffff\">\n"; print "$w / $h\n"; print "<br></body></html>\n"; exit 0; こちらも、$wも$hも空でした。 test.jpgは存在しているし、どうしてうまく行かないのか、まった く見当もつかないので、これだけの情報では不足かもしれませんが、 何か分かる方おられましたら、ご指導ください。どうかよろしくお 願いします。 |
>>2439 68user さん、どうも。 たしかに両方化けずに見えています。 FreeBSD 版では片方化けるんですね。 なるほど、Windows 版 NC はファイルの一部も自動変換、、 しかもブラウザーが渡す URL の文字列は必ず sjis。 これがわかんなくてホボ一日ハマりました。 パラメタはあらかじめ変換しておくのを原則にすればよかったのですが、 表示を見て正しく EUC で入ってくるものと思い込んでいたのです。 |
>>2441 ぶぶ さん: 1本目のプログラムですけど動きましたよ、、;;; test.jpg がなくてもちゃんと動きますね。 その場合はおっしゃるような症状になります。 ということで、test.jpg があるディレクトリが カレント ディレクトリな状態で実行してないとか、、。 test.jpg を C:\test.jpg とかフルパスで指定するとどうなります? #これ便利だなー^^ |
ふくしさん、お返事ありがとうございます。 C:\〜\test.jpg のように、フルパス指定したら動きました。 あと、DOS窓では./test.jpgでもうまくいきました。 でも、CGIとしてAN-HTTPD(ver1.37c/PerlISを利用)を通して 動作させると、CGI(test.cgi)と同じディレクトリにtest.jpg がある時に、フルパスならうまくいくのに./test.jpgでは、やっ ぱりうまくいきませんでした。 で、いろいろやっていると、PerlIS.dllを使うとうまくいかず、 Perl.exeを使うとうまくいくことが分かりました。 PerlISの問題だったようです。 でも、とりあえず動作させることができたので、解決です。 ありがとうございました。 #ちなみに同じような処理(画像の縮小拡大)はGDでもできますが、 #jpeg画像を縮小したときの画質はGDよりImageMagickの方が、 #なめらかできれいでした。 |
>>2444 ぶぶ 解決したようですが、ふつーは $i = Image::Magick->new or die "$!"; $i->Read('test.jpg') or die "$!"; $i2 = $i->Clone() or die "$!"; などと、エラーチェックをするものです。 と書こうと思ったら、Read は存在しないファイルを開いても 0 を返さないから、die じゃあダメなんですね。 $ret = $i->Read('a.gifs'); とかして、$ret を調べて、 Warning 330: Unable to open file (a.gifs) [No such file or directory] とかを解析しないといけないらしいです。Image::Magick、ダメすぎ。 >>2443 ふくし > しかもブラウザーが渡す URL の文字列は必ず sjis。 http: //host/dir/hoge.cgi?ほげ とかですか? |
>>2445 68user さん: >> しかもブラウザーが渡す URL の文字列は必ず sjis。 > http: //host/dir/hoge.cgi?ほげ > とかですか? http://host/dir/hoge.cgi?hoge=ほげ とかです。 CGI には sjis で渡るのに、表示は正常に行なわれます。 |
どうも、ご無沙汰しております。yujiです。^^ お世話になっております。 現在、windows2000+apache+activeperlの環境において、 CGI(perl)からapacheの再起動等を行いたいのですが、 apacheのパスにスペースが入っているためか、 コマンドを実行できず、困っております。^^; 具体的には、 パスが、 d:\Program Files\Apache Group\Apache\Apache.exe のような形です。 実行部分は、 $cmd="d:\\Program Files\\Apache Group\\Apache\\Apache.exe -w -n \"Apache\" -k restart"; system($cmd); のような形です。 パスのスペース部分をアンダースコアに変更して試してみたりも したのですが、うまくいかないようでして。^^; それぞれのフォルダ名にスペースを含めないようにすれば、 解決できるのかもしれませんが、スペースがあった場合に 対応できないものか、と思いまして。 みなさんなら、どうされますか? もしよかったら、アドバイスを、 どうぞよろしくお願いいたします。 |
>>2447 yuji Windows で perl スクリプトを作ったことがないのでアレですが、 $cmd="\"d:\\Program Files\\Apache Group\\Apache\\Apache.exe\" -w -n \"Apache\" -k restart"; はどうですか? >>2448 68user > http://host/dir/hoge.cgi?hoge=ほげ まぁ、規格で定まっていない部分ですから仕方ないですね。 IE だと (設定次第ですが) UTF-8 で送ることもありますし。 |
>>2448 68user 初めて ActivePerl といふものでプログラムを組んでみました。 やはり "" で囲めばよろしいようで。 DOS 窓から C:\> d:\\Program Files\\Apache Group\\Apache\\Apache.exe とするとダメだけど、 C:\> "d:\\Program Files\\Apache Group\\Apache\\Apache.exe" なら OK、というのと同じですね。 |
>>2448 68user さん: >> http://host/dir/hoge.cgi?hoge=ほげ >まぁ、規格で定まっていない部分ですから仕方ないですね。 >IE だと (設定次第ですが) UTF-8 で送ることもありますし。 えーそうなんだ、、それは困るな。 やっぱり世間の検索エンジンみたいに hoge=%A4%BD%A4%B2 とかすべきですね。 日本語キーにするなって話もありますが。 |
68userさん、アドバイスありがとうございます。^^ おかげさまで、無事コマンドを実行することができました。 DOS窓でもスペースがある場合、実行できなかったため、^^; スペースを、区切りではなく文字列の一部と認識させるために、 "で括る方法、とても勉強になりました。^^ |
>>2451 yuji Windows 2000 とかだと、エクスプローラーでフォルダをドラッグし、 コマンドプロンプトにドロップすれば、 "c:\WINNT\program files\" などと "" 付きでフルパスが展開されます。エクスプローラーで ファイルのフルパスを簡単に取得する方法はないのかなぁ。 >>2450 ふくし > hoge=%A4%BD%A4%B2 とかすべきですね。 そうですね。ただ、詳しくは知らないんですが、遷移先にどんな文字 コードを使っているかを伝えられるような送信方法もあったはずです。 RFC になってたかなぁ。 今日の大発見: cd - で一つ前にいたディレクトリに戻れる! (sh, csh, tcsh で確認) これは知らんかったなぁ。 |
file.1 file.2 ... file.9を一括で file-1 file-2 ... file-9に変換したいのですがどうすればよいでしょう? 稚拙な質問で申し訳ありません 使ってるのは tera term です。 |
>>2453 宮村 TeraTermにそんな機能はないだろ。 |
No. 2453 # 宮村 ここなど参考にしてみては。 http://www.nurs.or.jp/~asada/FAQ/UNIX/section2.6.html |
>>2454 * そういう物言いをしたいなら、2ch へどうぞ。 |
できました。教えてくれた方、ならびにカキコ有無にかかわらず少しでも考えてくれた人とてもありがとうございました。これで単位がもらえます。 |
はじめまして、とっしーです。 知っている人がいたら、何かいいお知恵をお願いします。 CGI上でソケット通信をして、他のサーバからデータを取り込み ブラウザ上にてデータ表示をしているのですが。 ソケット通信をするサーバが2個あり1番目のサーバタイムアウト後 2番目のサーバに対してソケット通信をしたいのですが、 sub aaa{ $SIG{ALARM} = sub{exit 1;}; alarm($timeover); $socket = IO::Socket::INET->new(); 〜 } 上記のようなタイマでタイムアウトを検出しても、このサブルーチンの 起動元までリターンしません。(T_T) 起動元までリターンするような、プログラム方法等があればお教えください。 |
>>2458 とっしー うーん、まずは exit してプロセスが終了してるんだから、 どこにも戻りようがない、というところから始めましょうか。 で、どう書くのが正しいのかなぁ。 |
はじめまして。かいとです。 こちらのサイトにある「HTTPクライアントを作ろう(C言語版)」を利用させていただきました。 ありがとうございます。そこで、1つ質問なのです・・・・ connect()でタイムアウト時間を指定したいのですが、できるのでしょうか? ちなみにOSはSolaris2.7、コンパイラはWorkshopのccを使ってます。 どうぞよろしくお願いします。 |
>>2460 かいと ノンブロッキングソケットを使うと、connect を呼ぶとすぐに 制御が帰ってきます。僕はノンブロッキングソケットを使った ことがないので、これをキーに検索してみて下さい。 |
初めまして。snowと申します。 今、8ビットJISで作成されたファイルをSJISのファイルに変換しようと思っているのですが、中々上手く行きません。どなたか教えて下さい。お願いします。 因みに今までは、Pro*Cのプログラム上で、単語毎にjis8touj関数を使用していました。 |
>>2462 snow jis8touj って何かと思ったら http://ecip01.cc.kurume-it.ac.jp:8888/ab2/coll.141.9/JFPDEV/@Ab2PageView/2444? これですか? Solaris only の、しかもあまり利用者が多そうでない ライブラリの話なのですから、何がどううまくいかないか 書かないと回答はもらえないでしょう。 |
基本的なことで、ほんとにすいません。どなたか、solaris8のGUIで Windowsのような[Print]、[Alt]+[Print]のようなハードコピーを するやり方をご存知の方は教えてください。よろしく |
>>2464 # Bourbon まったく知らない領域のことなのですが、恥を忍んで。 「Solaris ハードコピー」で検索をかけた限りでは http://www.advac.co.jp/download/gpr_dl.htmlのような プリントサーバソフトウェアにはそういった機能が 付いていることが多いようです。 こんなのも見つかりましたが、参考になるでしょうか。 http://www.aitech.ac.jp/ie/~milabo/unixmanual/man0.html#19 |
>>2464 Bourbon さん: solaris じゃなくって Linux でしたけど、 やはりハードコピーが必要になって gimp というペイントソフトの 機能を使ったらできました。 solaris で gimp は走ったかなー? |
Perl の質問です。 わけあって、プログラムの終端に goto で飛んでいます。 (CGI なので、exit だと、mod_perl に移植したときに mod_perl ごと死んでしまうと聞いたので) で、 goto FIN if(事情); ... FIN: sub サブルーチン { ... } と書くと、サブルーチン定義のところで syntax error になるんですが、 goto FIN if(事情); ... sub サブルーチン { ... } FIN: だと大丈夫です。なぜでしょうか〜? |
>>2464 Bourbon xwd とかじゃあダメですか? あるいは Solaris と Windows 両方に VNC を入れて、Windows 側から Solaris の画面を キャプチャ、とか。Solaris 標準の CDE でキャプチャする 方法は知りません。 >>2467 ふくし perl の構文解析のバグなんでしょうね。 FIN: ; sub サブルーチン { なら OK のようです。 |
ちょっと脱線A^^; >>2466 ふくし 会社のSolaris(多分8)では、gimpが立ち上がりました(親切な方がコンパイルしてくれたっぽい)。 とはいえ、 >>2467 ふくし CDEは嫌いなので使ってないので、CDEの標準な方法は知りません・・・ |
>>2469 の、 >>2467 ふくし は、 >>2468 68user の間違いです。汚してしまって、すみません。 |
>>2468 68user さん: お、バグですか!^^ 最新バージョンで試してレポートしちゃる!^^ >>2469 へにか さん: gimp 走りますか! 最近 solaris が増えてきたので、 役に立つかも。Alt+ScreenShot 系のキャプチャーは gimp に限ります。そぅとぅ〜便利です。 そのまま流れるように編集できるし。 最近なんか solaris の仕事多いんだけど気のせいかな? ココの問い合わせも増えてますよね。 |
>>2467 ふくし http://www.din.or.jp/~bigstone/cgilab/cgitips/mod_perl1.html ここの・・・ 8. exit()は使用できない exit()は使用できません。代わりに Apache::exit()関数が用意されています。 以下の判定でexit関数を他の関数にオーバライドできます。 use subs qw(exit); *exit = $ENV{MOD_PERL} ? \&Apache::exit : sub { CORE::exit }; |
>>2472 * さん: ありがとうございます! それは使えそうですね。 use Apache するのかな。(あ、調べますしらべます ^^) |
いつもお世話になります。 solarisでマシンにSICIカードを取り付けテープデバイスに装着させる場合、マウントするにはどのようにすればよいでしょう? 簡単でよいので教えてください。 |
>>2474 fairytale テープって mount できるんでしたっけ。 僕はいつも mount せずに % tar cf /dev/rmt/0 . とかやってますが。 |
tar cvf - . | ...と書いてある‘-‘の意味を教えて下さい。 |
>>2476 tarbo 標準入力 or 標準出力です。 大抵、man tar の -f オプションのところに書いてあります。 |
始めまして。ツバサと申します。 さっそくですが、質問させて下さい。 こちらのネットワークプログラミングの基礎知識を元にFTP送信処理をC言語で作成しています。 あるマシンへの送信が上手く行かないのです。 PORTコマンドのレスを読み込む時にread関数でエラーになってしまいます。 レスが返って来ないという事があるのでしょうか? ユーザーの認証などでは問題なくレスを取得できているようなのです。 それも、そのエラーが出るのはある特定のマシンへの時だけです。 何かお分かりになる事がありましたら、お願いします。 あいまいな質問で申し訳ありません。 |
すみません。 No.2478の書き込み時に遊び用のHNで送信してしまいました。 なので、内容で名乗っている名前と表題に出ている名前とが 違っています。 こんな理由なので、ご容赦下さい。 |