my @Column_Info = ( [ 1024, 1067 ], # Column 1 start stop [ 1068, 1093 ], # Column 2 start stop [ 1094, 1137 ], # Column 3 start stop [ 1138, 1163 ], # Column 4 start stop [ 1164, 1207 ], # Column 5 start stop [ 1208, 1233 ], # Column 6 start stop [ 1234, 1277 ], # Column 7 start stop [ 1278, 1321 ] ); # Column 8 start stop open(IN,"cat /tmp/show_library.$$|"); while () { while ($Pos <= $EndPos) { $_ =~ s/^ //; chomp; printf "DEBUG: String: '%s', Position: %d, New Position: %d, Label: %s\n", $_, $Pos, $NewPos, $NewLabel; if ($Pos == 1024) { printf "%s Diag tape\n", $Pos; $Library[$Count][$Column_Count] = $_; } else { ($NewPos, $NewLabel) = split(' ', $_, 9999); printf "DEBUG: String: '%s', Position: %d, New Position: %d, Label: %s\n", $_, $Pos, $NewPos, $NewLabel; } $Column_Count++; $Pos++; } }