sub READ { if ( @_ == 3 ) { # read into buffer } else { # read into buffer at offset }