use 5.010; use strict; use warnings; sub callback_host(&) { my ($thunk) = @_; say "In callback host, knowing nothing about blafus"; $thunk->(); } sub callback($) { my ($blafu) = @_; say "In callback, got the blafu '$blafu'"; } my @blafus = qw/hallo ich peter/; for my $blafu (@blafus) { say "In loop, current blafu '$blafu'"; callback_host { callback($blafu) } }