問題タブ [perl]

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.

0 投票する
11 に答える
2129 参照

perl - モジュールを作成するには、どのフレームワークを使用すればよいですか?

モジュールを記述するのに最適なフレームワークは何ですか? ExtUtils::MakeMaker (h2xs) またはModule::Build ?

0 投票する
8 に答える
88432 参照

perl - LWP で SSL サーバー証明書を検証するにはどうすればよいですか?

接続しているサーバーの証明書が信頼できる機関によって署名され、正しいホストに発行されていることをLWPで確認するにはどうすればよいですか? 私が知る限り、証明書が接続先のホスト名のものであると主張していることさえチェックしません。これは重大なセキュリティ ホールのように思えます (特に最近の DNS の脆弱性では)。

更新:HTTPS_CA_DIR ca-bundle.crt を持っていないので、私 が本当に欲しかったのは であることがわかりました。しかしHTTPS_CA_DIR=/usr/share/ca-certificates/、トリックをしました。とにかく、答えは十分に近かったので、受け入れられたものとしてマークしています。

更新 2:基盤となる SSL ライブラリとして Net::SSL を使用している場合HTTPS_CA_DIRにのみ適用されることが判明しました。HTTPS_CA_FILEしかし、LWP は IO::Socket::SSL でも動作します。IO::Socket::SSL は、これらの環境変数を無視し、提示する証明書に関係なく、任意のサーバーと問題なく通信します。より一般的な解決策はありますか?

更新 3:残念ながら、解決策はまだ完全ではありません。Net::SSL も IO::Socket::SSL も証明書に対してホスト名をチェックしていません。これは、あるドメインの正当な証明書を誰かが取得し、LWP が文句を言うことなく他のドメインになりすますことができることを意味します。

アップデート 4: LWP 6.00がついにこの問題を解決しました。詳細については、私の回答を参照してください。

0 投票する
4 に答える
2097 参照

perl - IIS で Perl スクリプトの実行時間を制限するにはどうすればよいですか?

これは共有ホスティング環境です。私はサーバーを管理していますが、必ずしもコンテンツを管理しているわけではありません。Perl スクリプトを使用するクライアントがあり、時々制御不能になり、プロセスが強制終了されるまでプロセッサの 50% を消費します。

ASP スクリプトを使用すると、スクリプトの実行時間を制限できます。IIS は、たとえば 90 秒後にスクリプトをシャットダウンします。Perl スクリプトは cgi プロセスとして実行されているため (実際には外部プロセスを起動してスクリプトを実行するため)、これは Perl スクリプトでは機能しません。

同様に、消費されているリソース (プロセッサ) は WP 自体ではなく子プロセスによって食い尽くされているため、ワーカー プロセスでの過剰なリソース消費を探す手法では、おそらくこれは検出されません。

実行時間が長すぎる Perl スクリプト (またはその他の cgi タイプのプロセス) を IIS で中止させる方法はありますか? どのように??

0 投票する
3 に答える
2867 参照

perl - Scalar::Util::Numeric が正しくインストールされないのはなぜですか?

これがすべて一緒に実行される場合は申し訳ありません。プレビュー ウィンドウに改行が表示されていないようです。実行時にこの出力が得られましたsudo cpan Scalar::Util::Numeric; thx、ジョシュ。

0 投票する
9 に答える
20752 参照

mysql - (mysql または perl 側で) SQL の結果に空の日付を埋め込む最も簡単な方法は何ですか?

次のようなクエリを使用して、mysql テーブルから簡単な csv を作成しています。

そして、それらをperlのファイルにダンプするだけです:

ただし、データには日付のギャップがあります。

データをパディングして、欠落している日数をゼロカウントのエントリで埋めて、次のようにしたいと思います。

私は非常にぎこちない (そしてほぼ間違いなくバグのある) 回避策を、1 か月あたりの日数の配列といくつかの計算でまとめましたが、mysql または perl 側のいずれかでもっと簡単なものが必要です。

なぜ私がそんなに愚かなのかについて、何か天才的なアイデア/平手打ちはありますか?


いくつかの理由から、問題の日付範囲の一時テーブルを生成するストアド プロシージャを使用することになりました。

  • 毎回検索する日付範囲を知っている
  • 問題のサーバーは、残念ながら atm に perl モジュールをインストールできるものではなく、リモートで何もインストールされていないほど老朽化していました。

Perl の Date/DateTime 反復回答も非常に良かったです。複数の回答を選択できたらいいのにと思います。

0 投票する
12 に答える
6311 参照

python - これらのスクリプト言語のうち、侵入テストに適しているのはどれですか?

まず第一に、私は言語に関する炎上戦争を避けたいと思っています。選択できる言語は、Perl、Python、Ruby です。私はそれらすべてに満足していると言いたいのですが、問題は、1つだけに集中できないことです.

たとえば、クールな Perl モジュールを見つけたら、試してみる必要があります。素敵な Python アプリを見つけたら、それがどのように作成されているかを知らなければなりません。Ruby DSL や Ruby ブードゥー教を目にすると、しばらくの間 Ruby に夢中になります。

現在、私は Java 開発者として働いていますが、近い将来 CEH を取得する予定です。私の質問は、ツールの作成とエクスプロイトの開発に、どの言語が最も適していると思いますか?

繰り返しますが、私は炎上戦争やトラブルを引き起こしたくはありません。自分が何をしているかを知っているスクリプト作成者からの率直な意見が欲しいだけです。

もう 1 つ、「なぜ 1 つの言語にこだわるのですか?」と尋ねる人もいるかもしれません。これに答えるには: 私はそれをマスターしようとするために、1 つの言語だけを選択したいと思います。

0 投票する
4 に答える
4217 参照

perl - Perl: /Date/Manip.pm の数値 lt (<) で初期化されていない値を使用する

これは私を困惑させました。このコードは別のサーバーでは機能しましたが、Perl v5.8.8 ではDate::Manipが CPAN からロードされ、現在は機能していません。

失敗しているコードは次のとおりです。

それは正しい; Date::Manipが で失敗してい"today"ます。

失敗しているDate::Manipの行は次のとおりです。

したがって、Date::Manip$Cnfは要素"ConvTZ"orで初期化されていると想定しています"TZ"。これらは で初期化されるDate_Initため、対処する必要があります。

私の大規模なプログラムでのみ失敗しています。上記の" " を抽出getdate()してスタンドアロンで実行すると、エラーは発生しません。つまり、これに影響を与える地球環境について何かがあります。

これは既知の問題のようですが、理解されていません。「初期化されていない値の日付操作の使用」を Google で検索すると、約 2400 件のヒットがあります。このエラーはMythTVgrepmailで報告されています。

0 投票する
10 に答える
67885 参照

perl - Perl の文字列内の各単語の最初の文字を大文字にするにはどうすればよいですか?

文字列の各単語の最初の文字を大文字にする最も簡単な方法は何ですか?

0 投票する
4 に答える
11559 参照

perl - Perl スクリプトをパッケージ化して、Perl のないマシンで実行するにはどうすればよいですか?

また、「Perl をコンパイルするにはどうすればよいですか?」という質問もよく寄せられます。彼らが本当に望んでいるのは、Perl がインストールされていなくてもマシン上で実行できる実行可能ファイルを作成することです。

私が知っているいくつかの解決策があります:

  1. IndigoStarの perl2exe 商用です。私は試したことがない。その Web サイトには、Win32、Linux、および Solaris をクロスコンパイルできると書かれています。
  2. ActiveState のPerl 開発キット。商用です。数年前にWindowsで使用しましたが、私のニーズにはうまくいきました。その Web サイトによると、Windows、Mac OS X、Linux、Solaris、AIX、および HP-UX で動作します。
  3. フリーでオープンソースのPARまたはPAR::Packerです。テスト レポートに基づくと、Windows、Mac OS X、Linux、NetBSD、Solaris で動作しますが、理論的には他の UNIX システムでも動作するはずです。最近、Linux でのパッケージングに PAR を使い始めました。Windows でも使用する予定です。

その他の推奨ソリューションは?

0 投票する
5 に答える
10996 参照

perl - ローカル CPAN ミラーをセットアップするにはどうすればよいですか?

ローカル CPAN ミラーをセットアップして維持するには何が必要ですか? 知っておくべきスクリプトとベスト プラクティスは何ですか?