• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サイト内全体を置換)

HTMLファイルにユニークなナンバーを埋め込む方法

thatsthatの回答

  • thatsthat
  • ベストアンサー率55% (15/27)
回答No.3

最初のwhile(<>){~}の部分では、csvファイルを読み込んで、 ハッシュ変数%noに格納しています。 ご提示いただいたcsvファイルの例ですと、  $no{'index.html'}='<!--1-->';  $no{'a/index.html'}='<!--2-->';  $no{'a/aa/nantoka.html'}='<!--3-->';  $no{'b/index.html'}='<!--4-->';  ~ という状態のハッシュを作っています。 while(<>)の<>は、 (ものすごく端折って書くので詳しい事はどこかで調べて下さい) perl test.pl data.csv のような形で実行した場合に、 1回目の<>でdata.csvの1行目を、2回目で2行目を・・・ と、入力行が無くなるまで読んで来てくれるものです。  open CSV,"<data.csv";  while(<CSV>){~}  close CSV; と書くのと動きは同じですね。 この場合は、<>を使ったのは、 書くのが楽だから、というだけの理由です(^^;

lefthand77
質問者

補足

ありがとうございました!! ようやく理解できました。なるほど… そして無事にcsvを読み取ることが出来、エラーも取れて動いた!…のですが… CVS中index.htmlがdisk上に存在しません\n CVS中a/index.htmlがdisk上に存在しません\n CVS中b/index.htmlがdisk上に存在しません\n CVS中以下略 orz csv内に書かれている全てのアドレスで上記の文が発生してしまいました。 もちろん、各htmlにユニークナンバーは挿入されておりません。 …うーん、何か根本的に勘違いしているのでしょうか…? >my $srcpath="/somewhere/src/"; >my $destpath="/somewhere/dest/"; ここが入力と出力…ということだと思いますので、test.plと同階層にそれぞれ/somewhere/src/、/somewhere/dest/とフォルダを作成し(応用力0ですが、間違いないと思いまして) /somewhere/src/上にサイトを丸ごと配置したのですが…そしてそのほかは何も触っておりません。 >foreach my $fn (keys %no){ > print "CVS中 $fn がdisk上に存在しません\n"; >} 結果を見ると、ここに入っているのだとは思うのですが、よく見るとこの箇所、if分などで分岐して来ている訳ではないので、 絶対に通りそうな気がするのですが、そうすると「CVS中~」という分は確実に表示されてしまう、ということでしょうか…? 本当に何度もすみません。 時間の余っているときでかまいませんので、どうか不出来な私に付き合ってやってください…orz

関連するQ&A

  • ファイルは大量に置いてもいいの?

    ある特定のディレクトリ上に ファイルがやたら大量にあったとしたら… 例えば極端な話 サイトを構成する全てのhtmlをローカルディレクトリ直下に わーっと置いたとしたら 管理がしにくくなる以外で何か 問題があるんでしょうか? ある事情で↑みたいなことをしけければならないんですが ちょっと心配になったので…。 ファイル数は80個とかなのですが…。

    • ベストアンサー
    • CSS
  • perl ftp取得したファイルの保存先設定

    perl初心者です。 FTPサーバーのLOGを取得する場合のプログラムをperlで作成しております。 保存先設定を1回(1行)設定しただけで設定先フォルダにLOGファイルが保存されるような方法はありますでしょうか? 今現在以下のように保存先を指定して取得しています。 my $local_file1 = 'C:/log/aaa.csv''; my $local_file2 = 'C:/log/bbb.csv'; my $local_file3 = 'C:/log/ccc.csv'; $ftp->get('取得元パス/aaa.csv',$local_file1); $ftp->get('取得元パス/bbb.csv',$local_file2); $ftp->get('取得元パス/ccc.csv',$local_file3); ただ、1ヶ月分のLOGを取得するとなるとmy $local_fileも$ftp->getも1ヶ月分作成しなければならないため長文のプログラムになってしまいます。 他、1ヶ月分ならFor文でこんな感じでやれば・・・というアドバイスがあればお願いいたします。

    • ベストアンサー
    • Perl
  • CGIでサイト全体のアクセス解析を行うには?

    CGIでサイト全体のアクセス解析を行うにはどうしたらいいのですか? たとえば、http://www.*****.com/ というサイトがあったとしましょう。 http://www.*****.com/1.html http://www.*****.com/1/2/3.html ・・・なども、このサイト、 http://www.*****.com/ に納められるデータ すべてのファイル・ディレクトリに対して、 どこか一カ所にCGiをおいて、アクセス解析をしたいのです。 どのようにしたらいいですか? そのようなスクリプトはどこにありますか_?

  • CSVファイルのダウンロード

    <環境> PHP4.3.2 Windows2000 PostgreSQL RedHat Linux <求めていること> DBのデータをCSVファイルに書き出し、 ダウンロードボタン押下で ダイアログがアップしファイル保存ディレクトリ選択、保存。 <現在のソース> サーバーにtest.csvファイル作成後、 現在HTMLでダウンロードボタン押下でdownload.phpを呼び出し <input type=button value="ダウンロード" onClick="location.href='download.php'"> ---------------- download.php ------------------- <?php // 1.ディレクトリ指定 //$filename="/test/test.csv"; // 2.ディレクトリ指定なし $filename = "test.csv"; header("Content-disposition: attachment; filename=$filename"); header("Content-type: application/octet-stream"); ?> ---------------- download.php ------------------- 現在、 1番のディレクトリ指定だと downloadというファイルがダウンロードされるダイアログがアップし ダウンロードされます。 2番のディレクトリ指定なしだと もちろん空のtest.csvファイルがダウンロードされます。 実現したいのは/test/test.csvのファイルをダウンロードすることです。 色々なサイトで探してみて試しているのですが 初心者なもので、行き詰まってしまいました。 申し訳ありませんが ご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • XOOPSサイトをまるごとバックアップする方法

    お世話になります。 現在、XOOPSサイトを運用しており、こちらのサイトのバックアップを取っておきたいと考えております。 データベースとXOOPSのファイル一式を保存することはできるのですが、それをローカルサーバで復元することができず、困っております。 各ソフトのバージョン等の依存もあるのかと思い、別の方法として、HTMLのサイトとして一括で保存できないか調べているのですが、良い方法が見つかりません。 どなたか、XOOPSサイトを、簡単に一括で、まるごとローカル環境に再現できる方法を、ご存じありませんでしょうか? ローカル環境で、画像や内容が現サイトと同じように見られれば、最高です。 どうぞよろしくお願いいたします。

  • WeBoXでのサイト全体DLを頻繁に行っても大丈夫?

     WeBoXというソフトを使って、サイトの丸ごとダウンロードを、週一間隔でやりたいのですが、そういったことをしても、相手側のサーバーに迷惑をかけることはないでしょうか?  このソフトは、一秒間隔で1ファイルのダウンロードを実行しているようです。(一秒に五六個ほどやっているようにも見えますが・・・。)  毎週ローカル保存を行いたいのですが、相手のサーバーに過剰な負荷をかけてしまうのではないかと心配です・・・。

  • Webサイトの更新とファイルの管理について

    初めて質問いたします。 現在仕事であるサイトのデザイン、更新、管理を行っております。 私が困っているのはファイルの管理方法です。 私が管理しているサイトはデータベースなどは使用しない、 htmlとCSS、Javascriptから構成される50ページほどのサイトで、 サイトの情報更新が月に数回あります。 htmlやCSSを更新する際、 現在はまずローカルで、更新するファイルを複製し、 aaa.html080528のように名前をつけています。 複製したファイルは元のファイルと同じフォルダに保存します。 編集作業が終わった後に、aaa.htmlとaaa.html080528の 両方のファイルをサーバの同じフォルダにUPしています。 つまりローカルとリモートサーバで同期をとり、 両方でバックアップファイルと公開しているファイルを管理している状態です。 しかし、更新が進むにつれバックアップファイル数が膨大な量になり、 なんとか効率よくバックアップファイル等を管理できないか模索中です。 更新作業はDreamweaverを使用しています。 できればローカルでの作業中はバックアップファイルなど 公開していないファイルは見えない状態で作業がしたいと思っています。 同じようなWebサイト管理をされている方は どのようにファイルを管理しているのでしょうか? どうぞよろしくお願い致します。

  • 複数人でサイト管理

    資料置き場のような社内用のホームページを作りました。 最初は一人で管理してよかったのですが、担当者が一人増えました。しかも離れたところでです。 今まではローカルのHTMLファイルが最新(当たり前)だったのでよかったですが、今後は他の人にサーバ上のファイルを触られてしまいます。 最新のデータを更新するには、いったんFTPで全部ローカルに落としてから修正すればいいのですが、それよりなにより、自分以外がどこをどう触ったのかを知りたいです。 ローカルとサーバのディレクトリ構成の差分、ファイルの差分を簡単に確認できて、それを元にダウンロード、アップロードファイルを選択できて、という都合のいいFTPクライアントソフトはないでしょうか? ちなみに今は手間ですがFFFTPで落としたものをローカルデータとDFというDIFFソフトで確認し、いちいち上書きしたり整理したりするしかありません。 助けてください。。。

    • ベストアンサー
    • HTML
  • CSVファイルを任意のディレクトリに作成する方法につきまして

    CSVファイルを任意のディレクトリに作成するマクロを 作成しております。抜粋は下記です。 '(1)ディレクトリを指定するダイアログ表示(初期ファイル名はwOutputFileName) Application.Dialogs(xlDialogSaveAs).Show wOutputFileName '(2)ディレクトリのパスを取得 Current_path = CurDir '(3)wOutputFileNameにパスを代入 wOutputFileName = Current_path & "\" & wOutputFileName その後、(3)のファイルをオープンし、CSVとするデータを登録します。 ところが、(1)での指定で、自分の元ファイル(マクロのエクセルファイル)が名前をwOutputFileNameに変えて保存されるため 「書き込みができません」 というエラーが発生します。 作成したCSVファイルをダイアログにてディレクトリを 指定して保存する方法を教えていただけませんか? よろしくお願いいたします。

  • ダウンロード後の保存ディレクトリ選択の制御

    現在WEBからCSVファイルをダウンロードし、 「開く」「保存」を選択するダイアログで、 「保存」を選択した後に表示されるディレクトリ選択で、 固定のディレクトリを表示し、また他のディレクトリを選択できなくするという方法を探しています。 例としては、CSVファイルを保存するを選んだら、 最初に表示されるディレクトリ選択で『デスクトップ』でなく、『C:\temp』などに強制的に指定でき、かつ他のディレクトリを選択できなくする方法です。 サーバ側はPHPなのですが、PHPでは制御できそうも無いので、ActiveXなどでできないかと考えているのですが、 ActiveXが正直どこまでできるのかわからないので、 果たして可能なのかどうか、知っている方教えてください。