問題タブ [storable]

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

ruby - PERL ストアブルに相当する Ruby gem

Ruby には、PERL の Storable に相当する gem がありますか?
rcstorable を試してみましたが、読み取りのみで、保存はしません。
ありがとう。

0 投票する
0 に答える
91 参照

perl - perl で内部のネストされたハッシュを保存する方法

私はperlのネストされたハッシュを持っています。内部ハッシュである Storable モジュールを使用して保存しようとすると、「参照ではありません」というエラーが発生します。例:

また、どうすれば元に戻せますか? 次の行は正しい方法ですか?

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

perl - Perl エラー: 参照ではありません

最近、いくつかの Perl コードを SunSolaris から 64 ビットの Linux(Ubuntu) ボックスに移行しました。移行Storable.pmが次のエラーで壊れた後:

インターネットで調査した結果、nfreeze代わりにを使用する必要があることがわかりましたthawが、次のエラーが表示されます。

これを修正する方法はありますか?

0 投票する
0 に答える
165 参照

perl - DBI Proxy 接続の Storable バージョンの不一致を修正するには?

クライアント システムで実行され、Perl DBI プロキシ サーバーを呼び出す接続テスト スクリプトを取得しました。

スクリプトを実行すると、次のように失敗します

DBI Proxy サーバーのログは次のようになります。

そのため、2 つのシステムの Perl および Storable モジュールのバージョン番号を確認したところ、DBI プロキシ サーバーはかなり古くなっているようです。

問題は、ターゲット システムのモジュール/perl バージョンを更新できないことです。そのため、/usr/local/share/perl/5.10.1/RPC/PlServer/Comm を変更することで、使用するクライアント バージョンを簡単に下げることができると考えました。 .pm ファイルを開き、行を変更します

しかし、これは上記と同じエラーになります。また、Perl テスト スクリプトで Storable 2.13 を直接使用しようとしましたが、何も変わりません。

これをグーグルで検索すると、解決策が見つかりませんでした。このバージョンの不一致が問題になる可能性があることを確認するだけです。クライアント側で DBI_TRACE レベルを上げても、新しいことは何も明らかになりませんでした。率直に言って、次に何を試すべきかわかりません。どんな助けでも大歓迎です。

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

perl - Perl でファイルからハッシュをリコールできない

この電話帳スクリプトはメモリ内ではうまく機能しますが、再実行時に保存されたデータを呼び出すのに苦労しています。ハッシュはテキスト ファイルに保存されますが、スクリプトの開始時にハッシュを呼び出す方法がわかりません。「ストレージ」を使用してデータを保存し、「取得」機能を使用してデータを戻そうとしましたが、うまくいきませんでした。最初から適切なパスをたどらなかったか、コードのどこにあるのか、またはどの %hash が保存されたデータを「取得」する必要があるのか​​ わからないだけだと思います。

私はPerlとプログラミングに非常に慣れていないので、自分の状況を明確に説明できれば幸いです

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

perl - perl DBI 接続オブジェクトをシリアライズおよびデシリアライズする

共有メモリを使用して他のプロセスと共有するには、DBI 接続オブジェクトを使用して 1 つの配列をシリアル化する必要があります。しかし、逆シリアル化は機能しません。

保存可能な qw/freeze thaw/ を使用します。

リターン エラー: グローバル シンボル

「$drh」には、(eval 33) 行 6 で明示的なパッケージ名が必要です (「my $drh」を宣言するのを忘れましたか?)。

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

gzip - バッファへの perl gunzip とファイルへの gunzip のバイト順が異なる

Perl v5.22.1、2.53_01 Storable、およびIO::Uncompress::Gunzip2.068 を使用しています。

Storable中間ファイルを使用せずに、Perl を使用してメモリ内のファイルを gunzip したいと考えています。

$zip_file = '/some/storable.gz'この圧縮ファイルを指す変数があります。

ファイルに直接 gunzip すると、これは正常に機能し、正しくハッシュ%rootに設定されます。Storable

ただし、次のようにメモリにガンジップすると:

エラーが発生します

そのため、Storable のマジック ナンバーは解体されました。それほど高くなることはありません。

ただし、解凍されたバッファ内の文字列は依然として正しいです。pstバッファは正しいStorableヘッダーで始まります。壊れているのは整数のようなマルチバイト変数だけのようです。

これは、ファイル バッファへの書き込みが別の方法で機能している間に、ファイルへの書き込みが 1 つの方法で機能するように、バイト順と関係がありますか? 整数を台無しにすることなく、バッファにガンジップするにはどうすればよいですか?

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

php - PHP 開発者として、serialize() が値の格納可能な表現を生成する方法を理解する必要がありますか?

PHP 7.1.12を使用しており、PHP で最も重要な組み込み関数の 1 つの機能を理解しようとしています。serialize()

serialize()渡される値の格納可能な表現を生成するために使用されることを理解しました。

serialize()内部機能を使用して、受信した値を何らかの文字列に変換することを意味すると思います。これは私の認識で正しいserialize()ですか?

以下のコードを検討してください:

出力:

出力では、文字i、a、Rがどこから出力されているのか理解できません。また、この出力がどのように形成されるのか理解できませんserialize()

だから、私の質問は; PHP 開発者として、上記の出力を理解する必要がありますか、それとも詳細に立ち入らずにこの出力を直接利用する必要がありますか?

この点で私を導いてください。