|
>>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 にどのような論理で何が入っているかは 下のコードからは不明です) ・・・という風にさかのぼって研究しても勉強になると思いますが、 (意外ともうちょっとでパキッとわかったりして) いずれにせよこんなアンフレンドリーなメッセージが出て中断するのは 作者の意図と違う動作なので、再インストールでもいいと思います。 |