Получить значение из объекта в Perl
Я получаю
$VAR1 = bless( \*{'Fh::fh00001Screenshot.png'}, 'Fh' );
в переменной. Но мне нужно получить fh00001Screenshot.png
от него. Как я могу получить это?
1 ответ
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;