http://www.perlmonks.org?node_id=628064


in reply to Fixed Position Column Records

Thank you grep and BrowserUk.
below is a replacement for my first foreach statement which works better than my original code thanks to the suggestion by grep.
my $f2 = $pos[1] - $pos[0]; my $f3 = $pos[2] - $pos[1]; my $f4 = $pos[3] - $pos[2]; my $f5 = $pos[4] - $pos[3]; foreach $line (@data) { my $pictureline = "a$pos[0] a$f2 a$f3 a$f4 a$f5"; print unpack( $pictureline, $line ), "\n"; }
And thank you again BrowserUk for a more elegant solution altogether.