[Moscow.pm] Узнать родительский ключ по ссылке
Alessandro Gorohovski
an.gorohovski на gmail.com
Вт Окт 1 03:46:41 PDT 2024
Нет, это не вариант.
Функция не знает о хеше %h и его структуре, совсем не знает :)
Представьте, что этот хеш может быть не 2х уровневый, а
много-много-вложенный по уровням
и
$ref eq $value
может случится на другом уровне.
вт, 1 окт. 2024 г. в 13:03, Steffen Winkler via Moscow-pm <moscow-pm на pm.org
>:
> use strict;
> use warnings;
>
> my %h = ( a => { b=> 1}, aa=> {bb=>2, }, );
>
> sub where_key {
> my $ref = shift;
>
> while ( my ($key, $value) = each %h ) {
> $ref eq $value
> and return $key;
> }
>
> return;
> }
>
> my $k = where_key( $h{aa} );
> print $k;
> exit;
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20241001/ed44e890/attachment-0001.html>
Подробная информация о списке рассылки Moscow-pm