68user's page 掲示板

Prev< No. 2413〜2418> Next  [最新発言に戻る] [過去ログ一覧]
No. 2413 # ふくし 2002/01/15 (火) 22:47:49
>>2412 ふくし
自己レスれす。(寒

>とりあえず 1586 行目の直前に
>warn "location: $location package: $package\n";

これ、自分でもやってみましたけど、
C:\> ppm
と打っただけではココは通らないみたいでした。

ぶぶさん、
PPM.pm の 1586 行目はぼくと同じですか?
(バージョン、レベルは同じなんだけどなァ)

あと、ほんとに
C:\> ppm

と打っただけで怒られます?
それともなんか実のあること(パッケージのインストールとか)を
やろうとしてます?
後者の場合は入れたコマンドを教えてください。

No. 2414 # ぶちお 2002/01/16 (水) 00:22:40
たびたびすいません!!今学校でパソコン同士のデータのやり取りを、Cプログラムでなんとかやろうとしているのですがわからんのですー!先生はfopenとか使えばできるだろー!!というのですが本を見てもかいてないようなかんじで(_m_!)なにしろ未熟者でわからんのですー!よろしければおしえてもらえますか?

No. 2415 # 68user 2002/01/16 (水) 03:52:02
>>2414 ぶちお
> 今学校でパソコン同士のデータのやり取りを、Cプログラムで
> なんとかやろうとしているのですがわからんのですー!
さて困ったものですね。あまりにもひどい質問の仕方です。
    http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse
は読んでいただけましたか?

パソコンって何ですか? UNIX ですか? Windows ですか?
それ以外ですか? 具体的な OS 名とそのバージョンは?

データのやり取りって具体的に何をしようとしていますか?
フロッピーからデータを読み込むことですか? LAN 経由で
ファイルを読むことですか? RS-232C 経由でデータを
やりとりすることですか?

今後、こういう調子の質問を続けるつもりでしたら、僕は
お相手を致しかねますのでよろしく。

No. 2416 # ぶぶ 2002/01/16 (水) 13:47:46
ふくしさん、お返事ありがとうございます。

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を入れ直してみた方が良いのでしょうか?

よろしくお願いします。

No. 2417 # 68user 2002/01/16 (水) 14:25:46
>>2416 ぶぶ
先ほど、Windows2000 に ActivePerl を入れる必要が
あったので試してみたのですが、ppm とだけ
打つと
    PPM interactive shell ...
と出てエラーは出ませんでした。

インストールしたのは最新の build 631 (perl-5.6.1) です。
再インストールは悪くない選択肢ではないかと思います。

No. 2418 # ふくし 2002/01/16 (水) 14:35:51
>>2416 ぶぶ
さん:

いま会社で ActivePerl の環境がないのでテストできませんが、
>return unless $$PPDfile;
ここで
>>Can't use an undefined value as a SCALAR reference
(スカラーの参照として、未定義値は使えません)
ですよね。

$$PPDFile というのは、
$PPDFile というスカラー変数に
スカラーへの参照(別のモノを指し示すもの)が入っていると考えて、
そのスカラーの値を返そうとしているわけですが、
そのとき $$PPDFile に undef が入っているのでくだんのエラーが
出ています。

たぶん $PPDFile という変数にもっと上の方でスカラーへの参照を
セットすることを期待して動いていたのですが、
その期待が裏切られているようです。

(その上でいろいろしているのも、$$PPDFiles つまり
    $PPDFiles が指し示すスカラーメモリに対してで、
    $PPDFiles にどのような論理で何が入っているかは
    下のコードからは不明です)

・・・という風にさかのぼって研究しても勉強になると思いますが、
(意外ともうちょっとでパキッとわかったりして)
いずれにせよこんなアンフレンドリーなメッセージが出て中断するのは
作者の意図と違う動作なので、再インストールでもいいと思います。

Prev< No. 2413〜2418> Next  [最新発言に戻る] [過去ログ一覧]