use LWP::Simple;

($content_type, $document_length, $modified_time, $expires, $server)
= head $url;

とすると,$modified_timeに$urlのアドレスのWebページの更新日時が
得られるとあったのですが,何も値が取得できないのはなぜでしょうか.
$expiresにだけ NCSA/1.3という値が入っていました.

このQ&Aに関連する最新のQ&A

A 回答 (4件)

LWP::UserAgent使ってましたがtimeoutがうまくいってくれないので


使うのをやめてしまいました。^^;

で、日付が取得できないのはどのサーバーでもでしょうか?
サーバーによっては日付取得させてくれないのもあるみたいです。

仕組みがわかってしまえばsocketも簡単ですから、LWP::Simpleに
頼らず自力で書いてしまっては?参考URLを見れば必要なコマンドも
わかりますし。

http://rie.h.kobe-u.ac.jp/~ohkubo/script.shtml
のsky_lib.plなんかも参考になります。

参考URL:http://www.glasscom.com/tone/articles/nos1998b/w …

この回答への補足

参考URLをありがとうございます.大変参考になりました.

LWPでは日付が取得できるサーバとできないサーバがあるようです.

素人な者ですこしお伺いしたいのですが,
自力で書くというのは
HTTP::Requestなどでヘッダ情報を取得するということでしょうか?

LWPで取得できない場合に,「自力」で書くと取得できるようになるのでしょうか?

補足日時:2001/05/01 19:12
    • good
    • 0

>LWPでは日付が取得できるサーバとできないサーバがあるようです.



LWPではというよりも、設定なのかなんなのか、そういうサーバーは
存在します。取得できないページをNetscapeで見て[情報を見る]を
やってみてください。同じように日付が取得できないのではないかと。

WWWDがそうですが、HEADで更新日が取得できないもの、動的出力される
ページなどは、ページのサイズを見て更新されたかどうかを判断
しています。もし更新チェッカを作ろうとしているのならばサイズで
判断してはどうでしょう。

>自力で書くというのは
>HTTP::Requestなどでヘッダ情報を取得するということでしょうか?

違います。use Socket;のみ用いて、あとのやりとりは全て自前で
書くということです。前回参考としてあげたURLにtelnetでアクセス
する方法がありますが、まさにそれをperlでやるのです。
そのほうがあらゆる環境で動くものが作れますし、モジュールに
まかせっきりよりか、何が問題なのかがわかってくるでしょう。

Socketの使い方は同じく前回あげたsky_lib.plが参考になります。
    • good
    • 0
この回答へのお礼

ありがとうございます.
いろいろと勉強になります.

一説によると,サーバのバージョンが古くてLast-modifiedに対応していないのではとのことでした.
どうやら,そのようなサーバのHPはgoogleでは検索されるのに,
更新日時も表示するgooでは検索にひっかからないようです.
gooの人たちが頑張ってもだめということは,
取得は不可能という結論でいいのかな.

お礼日時:2001/05/02 10:11

CGIは正常に稼動してますでしょうか?

この回答への補足

get $url;
でWebページを獲得することはできています.

補足日時:2001/04/27 18:10
    • good
    • 0

Perlはサーバに対応してますか?


もし、無理であるならばJavaで取得するってのはどうでしょうか?

この回答への補足

早速の回答ありがとうございます.
「Perlがサーバに対応」の意味が少しわかりかねるのですが,
もう少し詳しい説明が頂けないでしょうか?
よろしくお願いします.

補足日時:2001/04/27 15:58
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qビデオカードのドライバの更新(SiS740)

PCに全く詳しくないため
どなたかご教授いただけるとうれしいです

今SiS740のPCを使っているのですが
これでは十分に対応できない状況になりまして
ビデオカードのドライバを更新したいと思い
SiSの公式ホームページに行きましたところ
どれをDLしていいのかさっぱりわかりません;;

すいません;;
教えてください;;

Aベストアンサー

http://download.sis.com/

IGP Graphics Driver⇒SiS650&SiS740 seriesと開いてOSを選んでGOを
押せばダウンロードできますよ。

参考URL:http://download.sis.com/

Q$wfurikae = 1 if ( &ccom::getShukujitsu( &com::tD( $wwy,$wwm,$wwd )) ne '' );がよく

$wfurikae = 1 if ( &ccom::getShukujitsu( &com::tD( $wwy,$wwm,$wwd )) ne '' );

というスクリプトがあったのですが、

$wfurikae = 1 の後に;もいれずifがきています。

違和感があります。

どのような意味になるのでしょうか。

宜しくお願い致します。

Aベストアンサー

そのまんまだと思いますよ。
if 以下の条件が真の時 $wfurikae = 1となります。
Perlはいろいろな書き方ができますので、こういう書き方もありです。
英語の文法の並びにする書き方です。

QSiS 630チップセットのドライバの更新??

はじめまして
とあるゲームを購入したのですが、起動されないので
サポートセンターに問い合わせたのですが以下の
ような返信が送られてきました

ご利用されているビデオカード(SiS 630チップセット内蔵)のドライバが2001年12月に
作成されたものとなっております。ドライバの更新により、改善が見受けられないかをご
確認いただけますでしょうか。
新しいドライバはパソコンのメーカーにて提供されている場合がございます。ドライバの
更新方法につきましては、パソコンのメーカー様にご相談ください。


どういうことでしょうか??PC初心者のため
よく分からないです、詳しい方がいらっしゃれば
是非とも解決法を教えて下さい
宜しくお願いします

Aベストアンサー

No.3です。補足ありがとうございます。

SOTEC WL2130について、Google検索で仕様を調べてみたところ、グラフィック関係については

>グラフィックシステム:SiS 630ST チップセット内蔵
>ビデオメモリ:システムメモリより割り当て(8MB)

とありました。これはAge Of Empires Gold Editionの必須動作環境である

>グラフィック→ビデオRAM16MB以上

の条件を満たしていません。残念ですが、お使いのPCでこのゲームは動作しません。ノートPCですので、ビデオチップの交換やビデオメモリの増設は不可能です。


従って、ご質問の「Age Of Empires Gold Editionを動かすための解決方法」の唯一の回答は、

   PCの買い替え

ということになります。


余談ですが、

エラーメッセージ「グラフィックシステムを初期化できません」をキーワードにGoogleで検索したら、先頭に次の記事がヒットしました。
【[AOE] エラー メッセージ : グラフィック システムを初期化できませんでした】
http://support.microsoft.com/kb/179920/JA/

上記手順を試してみれば、もしかすると改善されるかもしれません。ただ、そもそも最低動作条件を満たしていないので、改善される可能性は限りなくゼロに近いのですが、駄目もとで試してみてはいかがでしょうか?

No.3です。補足ありがとうございます。

SOTEC WL2130について、Google検索で仕様を調べてみたところ、グラフィック関係については

>グラフィックシステム:SiS 630ST チップセット内蔵
>ビデオメモリ:システムメモリより割り当て(8MB)

とありました。これはAge Of Empires Gold Editionの必須動作環境である

>グラフィック→ビデオRAM16MB以上

の条件を満たしていません。残念ですが、お使いのPCでこのゲームは動作しません。ノートPCですので、ビデオチップの交換やビデオメモリの増設は...続きを読む

Qwhileの$_とforeachの$_の関係

以下のコードにおけるwhileとforeachでの$_の使いかたについて教えてください。

my @foos = qw( a b );

sub foo1 {
  open FH, "foo.txt";

  while (<FH>) {
    chomp;
    print "$_";
  }

#  while (my $x = <FH>) {
#    chomp $x;
#    print "$x";
#  }
  
  print "\n";
}

sub foo2 {
  foreach (@foos) {
    print "<$_>";
    foo1();
  }
  print "\n";
}

foo2();
foo2();

このコードと同じディレクトリに以下のような内容のfoo.txtをおいて実行します。

x
y

すると、以下のような結果が得られました。

<a>xy
<b>xy

<>xy
<>xy

一回目のfoo2で@foosの内容が消えてしまいます。一方、コメントアウトしてあるようにwhileに変数($x)を使うと期待したとおりの結果が出ます。なぜ、このような結果になるのでしょうか。ご存知の方がいらっしゃったら教えてください。宜しくお願いします。ちなみに、WinXP + ActivePerl(v5.8.6)で試しました。

以下のコードにおけるwhileとforeachでの$_の使いかたについて教えてください。

my @foos = qw( a b );

sub foo1 {
  open FH, "foo.txt";

  while (<FH>) {
    chomp;
    print "$_";
  }

#  while (my $x = <FH>) {
#    chomp $x;
#    print "$x";
#  }
  
  print "\n";
}

sub foo2 {
  foreach (@foos) {
    print "<$_>";
    foo1();
  }
  print "\n";
}

foo2();
foo2();

このコードと同じディレクトリに以下のような...続きを読む

Aベストアンサー

簡単に言うと
$_ をfoo1 とfoo2 で使っている為です。
こういうことがあるので
関数の中では使う変数はできるだけ局所的な使い方をするのがよろしいです。
最初の
foreach(@foos){
}
の中で$_ は、配列の中身のコピーではなくて、配列の要素そのものを指しているので、$_ への変更は直接@foosへの変更になってしまうので注意が必要です(この動作はこの動作で便利なものなんですが・)
なので、
foreach my $x (@foos) {
print "<$x>";
foo1();
}
のようにすれば良かったのかもしれません。
また、
sub foo1{
local $_;

}
のようにすれば、
foo1 で(foo2で使っていても)安心して$_ を使うことができます。

Qビデオカードの更新

SiS740が搭載されているパソコンを利用していますが、SiS740の更新の方法がわかりません。
どこを探してもありません;;わかる方がいましたら教えてください。

Aベストアンサー

>SiS740の更新

もしかして3Dゲームのプレイがしたいんじゃないですか?だとしたら更新しても意味がありません。ゲームが動作しない場合に出たり動作が遅い場合に出る「更新して下さい」というのは性能が足りないという意味です。これはグラフィックボードの増設でしか改善出来ません。

状況を改善したい場合はパソコンの型番や現在出ている症状などを補足して下さい。

Q@color1 = ('0000ae',・・・,'$user_color')で・・

とまとです。

行き詰まりました(TェT)

標題の代入で、'$user_color'の部分を文字列ではなく、後から出て来るinputで入力した文字を代入させるにはどうしたらいいのでしょう?
※標題のままだと「$user_color」という"文字列"が代入されてしまいます。

Aベストアンサー

変数の内容を展開したければ、
' でくくらなければいいわけですが、
後から出てくるなら、その代入時点では
undefine 状態ですか?

QSiS651を最新のverにしたのですが、動作が遅くなった?

windows XPです 
SiS 651 Rev 00を更新したのですが、英語のーページなので本当に出来たのか自信がありません・・・
少し動作が遅くなったような気がします。

http://www.sis.comのdownloadからXPのIGP Graphics DriversでSiS650 & SiS740 seriesを選んで
SiS UniVGA2 Graphic Driver for Win2000/XP
File Name 650_222_win2kxp.zip

をDLしてインストールしました。間違っているでしょうか?

Aベストアンサー

それは3年前の古いドライバです。
最新はSiS UniVGA3 graphics driver v3.80です。
http://www.sis.com/download/download_step1.php?id=155938

QperlのLWP::Simpleでgrepの値がおかしい

下記のperlでgrepの戻り値がおかしい。
use Encode;
use utf8;
use open IO => ":encoding(utf8)";
binmode STDOUT,':encoding(cp932)';
binmode STDERR,':encoding(cp932)';
use LWP::Simple;

$content=get("http://uwakich.com/archives/49502116.html");
@list1=grep /\n/,$content;

@list2=grep{$list1[$_] =~ /html/} 0 .. $#list1;
print @list2;

grepの値は、添字を返す。結果は0を返す。実際は、最低でも2つは有る
はずだが。一つも無いと言うのは、どうしてだろうか。

これは、例えば一旦$contentをファイルに落としてからやると、今度は
きちんとgrepは添字を返して来る。

何が違うのだろうか。済みません。誤りを指摘願います。

下記のperlでgrepの戻り値がおかしい。
use Encode;
use utf8;
use open IO => ":encoding(utf8)";
binmode STDOUT,':encoding(cp932)';
binmode STDERR,':encoding(cp932)';
use LWP::Simple;

$content=get("http://uwakich.com/archives/49502116.html");
@list1=grep /\n/,$content;

@list2=grep{$list1[$_] =~ /html/} 0 .. $#list1;
print @list2;

grepの値は、添字を返す。結果は0を返す。実際は、最低でも2つは有る
はずだが。一つも無いと言うのは、どうしてだろうか。

これは、例え...続きを読む

Aベストアンサー

ちゃんと「添字 0 」という「正しい結果」が返ってきてますよ。

@list1=grep /\n/,$content;
 は、「要素が $content だけのリスト」が引数となります。つまり
my @contents
$contents[0] = $content ;
@list1=grep /\n/, @contents;
 と同等です。

 grepは /\n/ が真となる要素のリストをかえします。したがって
@;ist1 = @contents ;
 すなわち
$;ist1[0] = $content ;
 と同じ状態になります。

 その該当する添字の返えせば
@list2 = ( 0 )
 になるのが正しい動作です。


> 例えば一旦$contentをファイルに落としてからやると

こちらは、
@lines = <FP> ;
みたいな感じで、 ファイルの1行 = リストの1要素 として読み込んでいるのではないですか?

「行分割されたリスト」
と、
「全行を連結した文字列」
とで、結果が違ってもなんの不思議もありません。


@list1=grep /\n/,$content;
はsplitでしょうね。

http://perldoc.jp/func/grep
http://perldoc.jp/func/split

ちゃんと「添字 0 」という「正しい結果」が返ってきてますよ。

@list1=grep /\n/,$content;
 は、「要素が $content だけのリスト」が引数となります。つまり
my @contents
$contents[0] = $content ;
@list1=grep /\n/, @contents;
 と同等です。

 grepは /\n/ が真となる要素のリストをかえします。したがって
@;ist1 = @contents ;
 すなわち
$;ist1[0] = $content ;
 と同じ状態になります。

 その該当する添字の返えせば
@list2 = ( 0 )
 になるのが正しい動作です。


> 例えば一旦$contentをフ...続きを読む

Qビデオカードの更新の利点?

いつもお世話になります。
今始めたいMMORPGがあるのですが、画面が真っ黒になったりと不具合?が出ます。
過去ログを検索したら、画像関係ならビデオカード(ドライバ?)の更新をするといい、というような結論に(私の中で)達したのですが、ビデオカードの更新をすることによって、どのような利点があるのでしょうか?
と言いますか、むやみに更新しても大丈夫でしょうか。かえって状況が悪くなるというようなこともあるのでしょうか?
実はもう一度更新を試みていて、理由は不明ですが失敗しました。
http://okweb.jp/kotaeru.php3?q=1114634
↑の質問を参考にして、No.2さんの回答のアドレスからダウンロードをしようとしたら、アクセス許可がない~って英語のページが出てきました。
チップの種類:SiS 740 Rev 00
OS:Windows XP
SiS740の更新は今はもう出来ないのでしょうか?

・ビデオカード更新の利点
・SiS740の更新の可否
上記二点の質問に対する回答・アドバイスを、どうぞ宜しくお願いします。


また、あまり理解出来ていないので、何かおかしいことを書いていたらご指摘いただけると有難いです。

いつもお世話になります。
今始めたいMMORPGがあるのですが、画面が真っ黒になったりと不具合?が出ます。
過去ログを検索したら、画像関係ならビデオカード(ドライバ?)の更新をするといい、というような結論に(私の中で)達したのですが、ビデオカードの更新をすることによって、どのような利点があるのでしょうか?
と言いますか、むやみに更新しても大丈夫でしょうか。かえって状況が悪くなるというようなこともあるのでしょうか?
実はもう一度更新を試みていて、理由は不明ですが失敗しました。
h...続きを読む

Aベストアンサー

利点
・ゲーム等に対応する可能性がある
・速度が上がる場合がある
・バグ潰しがある

欠点
・バグ潰しが新たなバグになっている場合がある
・ユーティリティ等との相性が出る場合がある

以前自分もSiSのビデオカードで、ゲームを起動すると画面が真っ黒になる不都合があり、結局原因不明のままでした。
その後同じPC構成で、VGAカードのみRadeon9200に取り替えると何事もなくプレイ出来ましたので、ゲームとVGAカードの相性が悪かったのだ思います。

Q「$" = ',';」という構文の意味は?

Perl スクリプト中に「$" = ',';」という構文が出てきたのですが、これはどういう意味ですか?

Aベストアンサー

"(ダブルクオート)内ではリスト値(@foo)も展開されますが、そのリスト値の区切り文字を定義する特殊変数で、デフォルトはスペースだそうです。

参考URL:http://www.tohoho-web.com/wwwperl1.htm#Tokushu


人気Q&Aランキング