--- /dev/null
+1..32
+
+1: OPEN: open a scalar on a ref to an array
+1: ok 1
+
+2: PRINT: able to print to IO::Lines=GLOB(0x9c5394c)
+2: ok 2
+
+3: GETC: seek(0,0) and getc()
+3: ok 3
+
+4: GETLINE/SEEK3: seek(3,START) and getline() gets part of 1st line
+4: GH: "IO::Lines=GLOB(0x9c5394c)"
+4: Got: "iner while dining at Crewe\n"
+4: Want: "iner while dining at Crewe\n"
+4: ok 4
+
+5: GETLINE/NEXT: next getline() gets subsequent line
+5: Got: "Found a rather large mouse in his stew\n"
+5: ok 5
+
+6: GETLINE/EOF: repeated getline() finds end of stream
+6: Last: "undef"
+6: ok 6
+
+7: GETLINE/GETLINES: seek(0,0) and getlines() slurps in string
+7: GotAll: "A diner while dining at Crewe\nFound a rather large mouse in his stew\n Said the waiter, \22Don't shout,\n And wave it about...\nor the rest will be wanting one too.\22\n"
+7: WantAll: "A diner while dining at Crewe\nFound a rather large mouse in his stew\n Said the waiter, \22Don't shout,\n And wave it about...\nor the rest will be wanting one too.\22\n"
+7: Got: "A diner while dining at Crewe\n"
+7: Got: "Found a rather large mouse in his stew\n"
+7: Got: " Said the waiter, \22Don't shout,\n"
+7: Got: " And wave it about...\n"
+7: Got: "or the rest will be wanting one too.\22\n"
+7: ok 7
+
+8: READ/FIRST10: reading first 10 bytes with seek(0,START) + read(10)
+8: ok 8
+
+9: READ/NEXT10: reading next 10 bytes with read(10)
+9: ok 9
+
+10: READ/TELL20: tell() the current location as 20
+10: ok 10
+
+11: READ/SLURP: seek(0,START) + read(1000) reads in whole handle
+11: ok 11
+
+12: SEEK/SET: seek(2,SET) + read(5) returns 'diner'
+12: A: "diner"
+12: B: "diner"
+12: ok 12
+
+13: SEEK/END: seek(-6,END) + read(3) returns 'too'
+13: A: "too"
+13: B: "too"
+13: ok 13
+
+14: SEEK/CUR: seek(-7,CUR) + read(7) returns 'one too'
+14: A: "one too"
+14: B: "one too"
+14: ok 14
+
+15: TIE/TIE: able to tie
+15: TieClass: "IO::Lines"
+15: TieArgs: "ARRAY(0x9c6a034)"
+15: ok 15
+
+16: TIE/PRINT: printing data
+16: ok 16
+
+17: TIE/GETLINE: seek(0,0) and scalar <> get expected lines
+17: Want: "A diner while dining at Crewe\n"
+17: Want: "Found a rather large mouse in his stew\n"
+17: Want: " Said the waiter, \22Don't shout,\n"
+17: Want: " And wave it about...\n"
+17: Want: "or the rest will be wanting one too.\22\n"
+17: Gotl: "A diner while dining at Crewe\n"
+17: Gotl: "Found a rather large mouse in his stew\n"
+17: Gotl: " Said the waiter, \22Don't shout,\n"
+17: Gotl: " And wave it about...\n"
+17: Gotl: "or the rest will be wanting one too.\22\n"
+17: Lines: "0..4"
+17: Match: "5"
+17: FDatl: "5"
+17: FData: "A diner while dining at Crewe\n"
+17: FData: "Found a rather large mouse in his stew\n"
+17: FData: " Said the waiter, \22Don't shout,\n"
+17: FData: " And wave it about...\n"
+17: FData: "or the rest will be wanting one too.\22\n"
+17: ok 17
+
+18: TIE/GETLINES: seek(0,0) and array <> slurps in lines
+18: Want: "A diner while dining at Crewe\n"
+18: Want: "Found a rather large mouse in his stew\n"
+18: Want: " Said the waiter, \22Don't shout,\n"
+18: Want: " And wave it about...\n"
+18: Want: "or the rest will be wanting one too.\22\n"
+18: Gotl: "A diner while dining at Crewe\n"
+18: Gotl: "Found a rather large mouse in his stew\n"
+18: Gotl: " Said the waiter, \22Don't shout,\n"
+18: Gotl: " And wave it about...\n"
+18: Gotl: "or the rest will be wanting one too.\22\n"
+18: Lines: "0..4"
+18: Match: "5"
+18: ok 18
+
+19: RECORDSEP undef: getline slurps everything
+19: A: "par 1, line 1\npar 1, line 2\n\n\n\n\npar 2, line 1\n\npar 3, line 1\npar 3, line 2\npar 3, line 3"
+19: B: "par 1, line 1\npar 1, line 2\n\n\n\n\npar 2, line 1\n\npar 3, line 1\npar 3, line 2\npar 3, line 3"
+19: ok 19
+
+20: RECORDSEP undef: get first line
+20: A: "par 1, line 1\n"
+20: B: "par 1, line 1\n"
+20: ok 20
+
+21: RECORDSEP undef: slurp the rest
+21: A: "par 1, line 2\n\n\n\n\npar 2, line 1\n\npar 3, line 1\npar 3, line 2\npar 3, line 3"
+21: B: "par 1, line 2\n\n\n\n\npar 2, line 1\n\npar 3, line 1\npar 3, line 2\npar 3, line 3"
+21: ok 21
+
+22: RECORDSEP newline: rec 0
+22: A: "par 1, line 1\n"
+22: B: "par 1, line 1\n"
+22: ok 22
+
+23: RECORDSEP newline: rec 1
+23: A: "par 1, line 2\n"
+23: B: "par 1, line 2\n"
+23: ok 23
+
+24: RECORDSEP newline: rec 2
+24: A: "\n"
+24: B: "\n"
+24: ok 24
+
+25: RECORDSEP newline: rec 3
+25: A: "\n"
+25: B: "\n"
+25: ok 25
+
+26: RECORDSEP newline: rec 4
+26: A: "\n"
+26: B: "\n"
+26: ok 26
+
+27: RECORDSEP newline: rec 5
+27: A: "\n"
+27: B: "\n"
+27: ok 27
+
+28: RECORDSEP newline: rec 6
+28: A: "par 2, line 1\n"
+28: B: "par 2, line 1\n"
+28: ok 28
+
+29: RECORDSEP newline: rec 7
+29: A: "\n"
+29: B: "\n"
+29: ok 29
+
+30: RECORDSEP newline: rec 8
+30: A: "par 3, line 1\n"
+30: B: "par 3, line 1\n"
+30: ok 30
+
+31: RECORDSEP newline: rec 9
+31: A: "par 3, line 2\n"
+31: B: "par 3, line 2\n"
+31: ok 31
+
+32: RECORDSEP newline: rec 10
+32: A: "par 3, line 3"
+32: B: "par 3, line 3"
+32: ok 32
+
+# END