in reply to Re^2: Printing a Variable outside of the block
in thread Printing a Variable outside of the block

Aside from what moritz said, do you really need to have $part1 and $part2? Since you are parsing an array you'll have to go through the process of running all its values. There are quite a few ways to do that. You can

use the for loop to build the final string to be printed, and print it outside the block

@l=<F3>; my $text = ''; for my $line (@l){ chomp $line; my ($part1, $part2) = split /\*/,$line; $text .= "$part1 $part2\n"; } print $text;

create the single string right from the array values by joining them

@l=<F3>; my $text = join '', @l; $text =~ s/\*/ /g; print $text;

use a different kind of block

@l=<F3>; print map {s/\*/ /;$_;} @l;