問題タブ [perl-module]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - WWW::Mechanize を使用してそのタグ内でフェッチしながらテキストをフェッチする
私はPerl-HTMLのことは初めてです。HTML テーブルからテキストとリンクの両方を取得しようとしています。
HTML 構造は次のとおりです。
私はそれを理解しましたWWW::Mechanizeは、パーツから必要なものを取得する最も簡単なモジュールですが<a>
、 からテキストを取得する方法がわかりません<td>
。<td>-Text
各セルとそれに対応<a>-Text
するハッシュ配列をペアにする必要があるため、2 つのタスクを連続して実行したいと考えてい
どんな助けでも大歓迎です!
Z禅
perl - Module::Build を使用してテストを作成 (およびビルド) するためのドキュメントはありますか?
そこで、私は自分用にいくつかのモジュールを作成しました。Module::Build を使用して perl モジュールのテストを作成する方法についてのドキュメントがあるかどうか疑問に思っています。
私が直面している特定の問題は、HomeBrew::IO
、HomeBrew::Stats
、およびの 3 つのモジュールHomeBrew::Bio
があり、ファイルが配置されている方法でそれらを個別にビルドまたはテストする方法がわからないことです。
3 つのモジュール ファイルは同じディレクトリ.../HomeBrew/lib/HomeBrew/
にあります。ディレクトリに 3 つの Build.PL ファイル.../HomeBrew/
(名前IO-Build.PL
は など) があり、3 つの .t ファイルは (名前は etc) にあり.../HomeBrew/t/
ますHomeBrew-IO.t
。
3 つの Build.PL ファイルは、一度に 1 つのモジュールのみをビルドすることになっていることを認識していないようです。次のいずれかをお見せします。
(おそらく、POSIX の代わりに File::Temp を使用する必要がありますが、これはテストでのみ使用されるため、優先度は高くありません)
将来的には、サブルーチンごとにテスト スクリプトを 1 つ持つように変更して、一度に 1 つのサブルーチンBuild test checkExist
だけを言ってチェックできるようにしたいと考えています。
そう、
create_build_script() がすべての .pm ファイルを .pm ファイルに含めないようにするにはどうすればよいですか
lib/HomeBrew
? すべての HomeBrew モジュール ファイルをディレクトリ内に保持したいのです.../HomeBrew
が、それぞれを別のディレクトリに分ける必要がありますか?Module::Build がモジュール全体またはその一部のみをテストする方法を認識できるように、各サブルーチンのテストを作成するにはどうすればよいですか?
今、私が言う./Build test
と、3 つのモジュールすべてを一度にテストします (そして、./Build install
3 つすべてを一度にインストールします)。
html - HTML ページからすべてのリンクを抽出し、特定のテーブルからリンクを除外する
私はPerl/HTMLにかなり慣れていません。これが私がWWW::MechanizeとHTML::TreeBuilderでやろうとしていることです:
ウィキペディアの化学元素のページごとに、ウィキの他の化学元素のページを指すすべてのハイパーリンクを抽出し、それぞれの固有のペアを次の形式で出力する必要があります。
唯一の問題は、すべての化学元素のページ (ページの右上) にミニ周期表があることです。したがって、この小さな周期表では、すべての元素について同じ結果が得られます。そのテーブルを除いて、ページからすべてのリンクを抽出するのに問題があります。
[注:$elem == 6
デバッグを容易にするために、(Carbon) (@line 42) のみを調べました。]
これが私のコードです:
perl - 古い.plモジュールと新しい.pmモジュール
私はPerlの初心者であり、Perlプログラムを構築するための最良の方法を頭の中で構築しようとしています。私はPythonに精通しており、 from foo import bar
Pythonモジュールから関数とクラスをインポートするPythonの方法に慣れています。私がPerlで理解したように、これを行うには多くの方法があります。.pmと.plモジュール、EXPORTと@ISA、useとrequireなどです。初心者が違いを明確に理解するのは簡単ではありません。それぞれの長所と短所(BeginningPerlとIntermediatePerlを読んだ後でも)。
問題は述べられています、私の現在の質問はからの文に関連していperldoc perlmod
ます:
Perlモジュールファイルの拡張子は.pmです。オペレーターはこれを想定しているため、
use
「Module.pm」を引用符で囲む必要はありません。これは、新しいモジュールを古い.plおよび.phファイルと区別するのにも役立ちます。
モジュールを準備する古い.plの方法と新しい.pmの方法の違いはどれですか?
彼らは本当に古くて現代的な方法ですか?(Perlmodがそう言っているからだと思いますが、これについていくつかの情報を入手したいと思います)。
perl - Perl の Google::Search を使用して特定の URL を検索するにはどうすればよいですか?
AJAX Search API に基づいた Google::Search モジュールがうまく動作しないようですが、それは私だけですか?
たとえば、Firefox を使用して Google を検索します: http://bloggingheads.tv/forum/member.php?u=12129
結果をもたらします。
しかし、このようにモジュールを使用すると:
配列には何もありません。
何か案が?
この API では、手動で検索した場合と同じ結果が得られないようです。何か不足していますか?
perl - コンストラクタに渡された引数と、Perl の「use Module」によって渡された引数を読み取るにはどうすればよいですか?
現在、私は新しいモジュールを作成しており、モジュール 2 にどのように実装できるか疑問に思っていました。
use
次のようなことがよくあります。
例えば:
したがって、最初の質問は、これを取得するにはどうすればよいかということです。つまり、ユーザーが何かを指定し、何を指定したかということです。
2 番目の質問は、次のようにコンストラクターで直接引数を渡して読み取る方法です。
私の $my_module = My::Module->new(arg1,arg2,arg3);
AS は、コメントで単純なモジュール テスト コードを要求しました。
perl - Perlの$OSNAMEがSolarisで機能しないのはなぜですか?
$OSNAME
Linuxで変数を使用したことを覚えています。
現在、OS名を取得する必要があるSolarisでプロジェクトに取り組んでいますが、その変数はSolarisでは機能していません。
単純な1行のプログラムでも機能しません。
印刷します
助けてください。
perl - Perlでユーザーエージェント文字列を解析するにはどうすればよいですか?
ブラウザー、バージョン、OS、および場合によってはデバイスを判別するために、HTTP ヘッダーのユーザー エージェントをテキスト ファイルから解析する必要があります。これらの行の例は次のとおりです。
これらの文字列は非常に多様であるため、誰かが提供している実績のある信頼できるパーサーを利用する方が良いと思いました。PHP や Java ではいくつか見つかりましたが、Perl では見つからないようです。
誰かがそのようなモジュールについて教えてもらえますか?
perl - フィードバック、モジュールに関する質問、および何か変更する必要がある場合は?
新しい接続を開く代わりにコードでデータベースを再利用できるようにするのは正しい方法ですか、それとも使用するたびに新しい接続を開きますか?
モジュールで何か変更する必要がありますか? または私が間違ったことはありますか?
現在、私は自分のエンジンモジュールを学んで考えているので、これから始めました。
簡単なテスト コード (次のコードは、モジュールの使用方法の単なるサンプルであり、確認する必要はありません):
perl - Perl の use/require にフックして例外をスローするにはどうすればよいですか?
ファイルが既にロードされている場合use/require
、例外をスローできるようにフックする方法はありますか? 私の今後の予定nextgen::blacklist
では、特定のモジュールが使用されている場合、私は死にたいと思っています。で述べたように、私は object-hook メソッドを使用していますperldoc -f require
: 3 つのようなフックobject、subref を持つ配列、およびsubrefがあります。この投稿の例は object-hook です。sub-ref フックの私の試みは にありnextgen::blacklist
ます。
私が望んでいる構文は次のようなものです:
perl -Mnextgen -E"use NEXT"
理想的には、次のようなメッセージをスローすることになっています。
私はこれをさまざまな方法で試しました。
これらのフックの後に%INC
のみ設定されているようです。例外をスローできるものに興味があります。私のプラグマを使用しない他のモジュールの依存関係としてのステータスにもかかわらず、モジュールをロード/リロードしようとすると、私は死にたいです。