問題タブ [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 投票する
7 に答える
1441 参照

perl - Perlマップが何も返さないのはなぜですか?

次のステートメントを実行しているとき:

期待していたフィルタリングされたリストではなく、空のリストが返されます。私がやろうとしているのは 、文字列の配列(XMLファイル)からすべての出現箇所を削除することです。

明らかに、私は何かを理解していません。誰かがこれを行う正しい方法を教えてもらえますか、そしてなぜこれが私にとってそのままでは機能しないのですか?

0 投票する
14 に答える
148345 参照

perl - Perl で変数に数値があるかどうかを確認するにはどうすればよいですか?

指定された変数が数値かどうかを判断できる簡単な方法は Perl にありますか? 次のようなもの:

理想的でしょう。-wスイッチが使用されているときに警告をスローしない手法は、確かに好まれます。

0 投票する
2 に答える
13300 参照

perl - PerlでブロックせずにSTDINをテストするにはどうすればよいですか?

私は最初の Perl アプリを作成しています。これは、Arduino マイクロコントローラーと通信する AOL インスタント メッセンジャー ボットです。Arduino マイクロコントローラーは、28 時間ごとにランダムにフリーズするシステム管理者のサーバーの電源ボタンを押すサーボを制御します。

難しい作業はすべて完了しました。最後のコードを 1 つ追加して、メイン ループを中断し、ユーザーが「quit」と入力したときに AIM からログアウトしようとしています。

問題は、メイン プログラム ループで STDIN から読み取ろうとすると、入力が入力されるまでプロセスがブロックされ、本質的にボットが非アクティブになることです。読む前にEOFをテストしようとしましたが、サイコロはありません... EOFは常にfalseを返します。

以下は、私が使用しているサンプルコードです。

0 投票する
6 に答える
34301 参照

perl - Perl の system() は、実行中のコマンドをどのように表示できますか?

Perl では、system() または `` (バッククォート) を使用してシステム コマンドを実行できます。コマンドの出力を変数に取り込むこともできます。ただし、これによりバックグラウンドでのプログラムの実行が隠されるため、スクリプトを実行している人はそれを見ることができません。

通常、これは便利ですが、舞台裏で何が起こっているのかを確認したい場合があります。実行されたコマンドが端末に出力され、それらのプログラムの出力が端末に出力されるようにするにはどうすればよいですか? これは.bat「@echo on」と同等です。

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

perl - Perl でディレクトリの内容を読み込むにはどうすればよいですか?

Perl に特定のディレクトリの内容を配列に読み込ませるにはどうすればよいですか?

バックティックでもできますが、「 scandir」などを使った方法はありますか?

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

regex - 元の文字列を維持しながら、文字列に対して Perl 置換を実行するにはどうすればよいですか?

Perl で、正規表現を使用して文字列の置換を実行し、元の変数を変更せずに値を別の変数に格納する良い方法は何ですか?

私は通常、文字列を新しい変数にコピーしてから、s///新しい文字列を置換する正規表現にバインドしますが、これを行うためのより良い方法があるかどうか疑問に思っていましたか?

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

perl - LWP::Simple でウィキペディアのページを取得できないのはなぜですか?

LWP::Simpleを使用してウィキペディアのページを取得しようとしていますが、戻ってきません。このコード:

何も印刷しません。しかし、たとえば、他の Web ページを使用するとhttp://www.google.com、問題なく動作します。

ウィキペディアのページを参照するために使用すべき他の名前はありますか?

ここで何が起こっているのでしょうか?

0 投票する
2 に答える
1957 参照

perl - Perl の AuthCAS を使用して CAS サーバーに接続できないのはなぜですか?

既存の CAS サーバーを使用して Perl CGI Web スクリプトのログインを認証しようとしており、AuthCAS Perl モジュール (v 1.3.1) を使用しています。CAS サーバーに接続してサービス チケットを取得できますが、チケットを検証するために接続しようとすると、IO::Socket::SSLモジュールから次のエラーが返されます。

症状/テスト:

  1. 認証用に生成された URL を Web ブラウザのロケーション バーに入力すると、予想される XML スニペットが正常に返されます。したがって、これは悪いホスト名ではありません。
  2. AuthCAS モジュールを使用せずにスクリプトを生成し、IO::Socket::SSL モジュールを直接使用して、生成されたサービス チケットの検証のために CAS サーバーにクエリを実行すると、Perl スクリプトはコマンド ラインから正常に実行されますが、ブラウザーでは実行されません。
  3. 項目 2 のスクリプトに AuthCAS モジュールを追加すると、スクリプトはコマンド ラインで機能しなくなり、ブラウザーでも機能しなくなります。

エラーを生成する必要最小限のスクリプトは次のとおりです。

競合がどこにあるのかについてのアイデアはありますか?


エラーは、引用されたスニペット Cebjyre のすぐ上の行から発生しています。

つまり、ソケットの作成です。すべての入力パラメーターが正しい。モジュールを編集して、デバッグ ステートメントを挿入し、その呼び出しの直前にすべてのパラメーターを出力しましたが、すべて問題ありません。IO::Socket::SSL モジュールをさらに深く掘り下げる必要があるようです。

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

regex - 相対 URL から完全な URL を特定する最速の方法は何ですか (ベース URL が与えられた場合)

現在、このモジュールURI::URLを使用して、相対 URL から完全な URL を生成しています。ただし、希望どおりの速度で実行されていません。これを行う別の方法を知っている人はいますか?

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

python - スクリプトで FileMaker Pro データベースからデータを抽出する最良の方法は?

FileMaker Pro データベースから有用な情報を抽出するための自動化された方法 (できれば Python スクリプトで) を思いつくことができれば、私の仕事はより簡単になるか、少なくとも退屈ではなくなります。私は Linux マシンで作業しており、FileMaker データベースは OS X マシンで実行されている同じ LAN 上にあります。自分のマシンから webby インターフェイスにログインできます。

私は SQL に非常に精通しており、FileMaker 内のデータへの SQL アクセスを可能にする FileMaker プラグインを誰かが教えてくれたら、非常に嬉しく思います。私が見つけたものはすべて逆方向にしか進みません: FileMaker に SQL ソースからデータを取得させます。役に立ちません。

それは私の最初の選択ではありませんが、手元に Perl-y ソリューションがあれば、Python の代わりに Perl を使用します。

: XML/XSLT サービス (一部の人々によって提案されているように) は、FM Pro ではなく FM Server でのみ利用できます。そうでなければ、それがおそらく最善の解決策です。ODBC を機能させることさえ非常に困難であることが判明しています。設定時に FM からのフィードバックはまったくないため、/var/log/system.log を掘り下げてあいまいなエラー メッセージを解析する必要があります。

結論: ODBC 接続を介して FM データベースにクエリを実行するマシンでローカルに Python スクリプトを実行することで、動作するようになりました。スクリプトは実際には、LAN 上の他のシステムからのソケット接続を受け入れ、クエリを実行し、ソケット接続を介してデータを返す TCPServer です。FM Pro がローカルの ODBC 接続のみを受け入れるという事実を回避するために、これを行う必要がありました (外部接続には FM サーバーが必要です)。