#!/usr/bin/perl use strict; use warnings; use Data::Dumper; # erwarte skalaren Kontext bei der Wertzuweisung my %h = ( x => ctx(), ); # erzeugt auf jeden Fall den skalaren Kontext my $y = ctx(); print Dumper \%h, $y; # liefert je nach Kontext eine Liste oder ein Skalar sub ctx{ return wantarray ? (1,2,3) : [1,2,3]; } ### Ausgabe $VAR1 = { 'x' => 1, '2' => 3 }; $VAR2 = [ 1, 2, 3 ];