#!/usr/bin/perl use warnings; use strict; use Data::Dumper; sub f { while ( <> ) {} } my $a = 1; for ( $a ) { f(); print Dumper( $_, $a ); } #### map { f(); g( $_ ) } @a; #### { map { my $x = $_; f(); g( $x ) } ( my @tmp = @a ) }