Mangled patch, needed hand-tweaks, along with binmode for rs.t:
[p5sagit/p5-mst-13.2.git] / pod / perlvar.pod
index 2cb95af..d9edffa 100644 (file)
@@ -222,6 +222,27 @@ character belongs to the next paragraph, even if it's a newline.
 Remember: the value of $/ is a string, not a regexp.  AWK has to be
 better for something :-)
 
+Setting $/ to a reference to an integer, scalar containing an integer, or
+scalar that's convertable to an integer will attempt to read records
+instead of lines, with the maximum record size being the referenced
+integer. So this:
+
+    $/ = \32768; # or \"32768", or \$var_containing_32768
+    open(FILE, $myfile);
+    $_ = <FILE>;
+
+will read a record of no more than 32768 bytes from FILE. If you're not
+reading from a record-oriented file (or your OS doesn't have
+record-oriented files), then you'll likely get a full chunk of data with
+every read. If a record is larger than the record size you've set, you'll
+get the record back in pieces.
+
+On VMS, record reads are done with the equivalent of C<sysread>, so it's
+best not to mix record and non-record reads on the same file. (This is
+likely not a problem, as any file you'd want to read in record mode is
+proably usable in line mode) Non-VMS systems perform normal I/O, so
+it's safe to mix record and non-record reads of a file.
+
 =item autoflush HANDLE EXPR
 
 =item $OUTPUT_AUTOFLUSH