-1

私は得ています

$VAR1 = bless( \*{'Fh::fh00001Screenshot.png'}, 'Fh' );

変数で。しかし、私はそれから取得する必要がありますfh00001Screenshot.png。どうすれば入手できますか?

4

1 に答える 1

4

このFhパッケージは、モジュールによって内部的にCGI使用され、マルチパート データの構築に使用される一時ファイルを処理します。直接使用してはいけません。

CGI用のコードに由来するこのコードを使用する前に、より良い方法がないことを注意深く確認してください。Fh::asString

(my $name = $$VAR1) =~ s/^\*(\w+::fh\d{5})+//; 
print $name;

出力

Screenshot.png

アップデート

コードからビットを取り出すのではなく、CGIこのパッケージ (実際には非公開にする必要があります) は呼び出し元のコードからアクセスできるように見えます。$var->asStringこのように、代わりに使用してください

use strict;
use warnings;

use CGI;

my $var = do {
  no strict 'refs';
  my $var = bless( \*{'Fh::fh00001Screenshot.png'}, 'Fh' );
};

print $var->asString;
于 2013-02-15T13:38:40.990 に答える