問題タブ [perl-core]

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 投票する
1 に答える
81 参照

perl - Perl コアのモジュールのバグ履歴を確認するにはどうすればよいですか?

ごく最近、セグ フォールトのデバッグについて質問しました: Perl でセグ フォールトをデバッグするための適切な方法または手順は何ですか? . 誰かが、Symbolには深い XS マジックが含まれていると言いました。

Perl コア モジュールのバグ履歴を見つけられるかどうか疑問に思っています。CPANを調べてみましたが、変更ドキュメントはモジュール レベルではなくプロジェクト レベルで保持されています。

私たちは Perl 5.8.2 と Symbol v1.05 を実行していますが、私たちの問題の 1 つがそれと現在のバージョンの間に発生したバグ修正に関連している可能性があるのではないかと思っています。

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

perl - Perlコアモジュールをシンボリックに参照することは可能ですか?

私は簡単に次のようなことができることを知っています

そして、すべての関数についてrefをシンブする必要があることを象徴的に参照しますが、次のようなことを行う方法があるかどうかを知りたいだけです。

対。

これは機能しますが、コア機能では機能しません。

ありがとう。

0 投票する
1 に答える
366 参照

perl - Perlのコアライブラリはどのように管理されていますか?

私の理解では、Perlには伝統的にコア機能しか含まれておらず、人々はあらゆる種類の便利な(そして時には非常に基本的な)ことを行うために追加のライブラリをインストールします。しかし、ある時点で、デフォルトでPerlに同梱されている「コアライブラリ」が登場しました。そのため、これらのライブラリをインストールせずに使用できます。

Pythonから来て、これがどのように管理されているのか興味があります。具体的には:

  1. ライブラリはどのように選択されますか?
  2. ライブラリにはまだ独自のバージョン番号とリリーススケジュールがありますか?
  3. これらのライブラリを使用する場合、どのような下位互換性が保証されますか?
  4. システム内のこれらのライブラリをアップグレードまたはダウングレードするのは一般的ですか?これはシステム全体で行われていますか、それともより具体的に行われますか?
  5. APIの変更が必要なバグ修正がある場合、それはどのように発生しますか?
  6. これらのコアライブラリに機能はどのように追加されますか(ある場合)?
0 投票する
1 に答える
481 参照

perl - Perl Core でのディスク使用量

Perl でディスクの残りの空き容量を確認する方法を探しています。Perl のバージョンが異なる多くのサーバーにスクリプトを展開する必要があるため、CPAN を使用できません。また、チーム リーダーが CPAN を使用するように指示したため、CPAN を変更することもできません。

何か案が?試してみFile::statましたが、使用できませんD:\(スクリプトは Windows バージョンで実行されます)。

ありがとう!

0 投票する
1 に答える
1094 参照

perl - Perl タイムゾーン変換 - ただし、コア モジュールのみを使用

Perlコアモジュールだけを使用して、将来の「任意の」日付のタイムゾーン変換を行うことは可能ですか?

タイムゾーン X に Day:month:year, hr:min があり (America/New_York のような完全修飾タイムゾーンであると仮定)、それをタイムゾーン Y (たとえば、Asia/Kolkata) に変換する必要があるとします。

いくつかのメモ:

1) これは OSX (Lion 以上) 用です。

2) DateTime と DateManip を使用してそれを行う方法は知っていますが、これらはコア モジュールではないため、C コンパイラをインストールする必要があります。私は自分のプログラムを「非技術者」ユーザーに配布しようとしています。彼らは助けを借りて perl モジュールのインストールを行うことができますが、XCode やコマンド ライン ツールなどを動作させようとするとバラバラになります。DateTime をインストールしようとした人もいますが、エラーや依存関係に巻き込まれて断念しました。

3) tzset の組み合わせを使用してみました。および ENV TZ - ただし、任意の日付には使用できません - 現地時間でのみ機能します (つまり、「現在の時間」を任意のタイムゾーンに変換できます)

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

perl - モジュールの CPAN ページから、それがコアディストリビューションに含まれているかどうかを確認するにはどうすればよいですか?

たとえば、search.cpan.org の Time::HiRes ドキュメントを参照する場合、そのページ自体にモジュールが Perl コア ディストリビューションの一部になったことを示すものはありますか? グーグルで検索すればだいたいわかるのですが、もっと簡単な方法がないか調べてみました。

0 投票する
1 に答える
567 参照

perl - Perl : IO::Uncompress::Unzip : zip 内のファイルの最終更新日を取得する

現在、コア モジュール IO::Uncompress::Unzip を使用して、Perl で zip ファイルの内容を読み取っています。私は以前、優れたモジュールである Archive::Zip を使用していましたが、それほど頭を悩ませることはありませんでしたが、コア モジュールとしてバンドルされていません。

zip ファイルに圧縮されたファイルの最終更新時刻を取得したいと考えています。たとえば、「1.txt」、「2.txt」、「3.txt」を含む「test.zip」というファイルがあります。たとえば、zip は今日最後に変更されましたが、txt ファイルは 1 週間前に変更されました。zip 内の各圧縮ファイルの最終更新日を取得するにはどうすればよいですか? これは、Archive::Zip で非常に簡単に実行できましたが、このモジュールではできませんでした..

私が使用しているコードは次のとおりです。

私の問題を解決するためのアイデアや回避策はありますか?

ありがとう !

0 投票する
1 に答える
291 参照

perl - Perl の「do」。相対パスは「.」で始まります。また ".."

do EXPR構成情報としてリストを返すだけの 2 つ目の .pl ファイルを使用して、Perl の関数を貧弱な構成パーサーとして使用しようとしています。do(特に、コードに" " を記述できるため、これはおそらく の理想的な使用方法だと思いdo or dieます。) 次に例を示します。

main.pl

config.pl

Perldoc を読むと、相対パスに関する多くの役立つアドバイスが得られます - @INC の検索と %INC の変更、「.」を検索しない 5.26 に関する特別な警告doなどなど。ただし、次のビットもあります。

# 指定されたファイル(./ および ../ 特殊ケース) を正確にロードします...


do を相対パス(./ と ../ を除く)で使用すると、次のようになります。

そして、「./」または「../」の特別なケースのパス処理を実際に説明することは決してありません-重要な省略です!

だから私の質問は、「あなたが実際に何が起こるか」のすべてのバリエーションdo './file.pl';です。例えば...

  • CWD は @INC から削除されていますが、この構文は 5.26 でも機能しますか?
  • いずれにせよ「./」は誰の視点から見れば: Perl バイナリ、実行された Perl スクリプト、ユーザーのシェルからの CWD、または何か?
  • 注意すべきセキュリティリスクはありますか?
  • これは、@INC を変更してベース ファイル名を使用するよりも良いですか、悪いですか?

どんな洞察も高く評価されます。

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

perl - CORE::join() として解決されたあいまいな呼び出し、そのように修飾するか、& を使用

エラーが発生しました:

エラーを次のように修正すると:

すべて正常に動作します。

しかし、次のように修正すると:

エラーメッセージで示唆されているように、別のエラーが発生しました:

2番目の修正が機能しないのはなぜですか?

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

perl - atan2 などに「use Math::Trig」を使用する必要がないのはなぜですか?

use Math::Trig;を呼び出すために Perl プログラムで使用する必要がないのはなぜatan2()ですか?

ドキュメントによるとatan2()、「Perl Core」の一部ではありません。

私はPerl 5.18.4を持っています。標準 Perl モジュールのリストを調べたところ、Math::Trig がリストされていましたが、それでも「use」ステートメントが必要だと思いました。確かに、私の Perl の知識は、現時点で約 6 か月しか経っていません。したがって、簡単な答えは、Perl の公式ドキュメントからの引用です。あるいは、ここで私が理解できない何かが起こっているのかもしれません。

これが私が話していることの例です。

出力: