@display
DATA LIST [FIXED]
@{TABLE,NOTABLE@}
- FILE='filename'
+ FILE='file-name'
RECORDS=record_count
END=end_var
/[line_no] var_spec@dots{}
keyword FIXED is optional.
The FILE subcommand must be used if input is to be taken from an
-external file. It may be used to specify a filename as a string or a
+external file. It may be used to specify a file name as a string or a
file handle (@pxref{File Handles}). If the FILE subcommand is not used,
then input is assumed to be specified within the command file using
@cmd{BEGIN DATA}@dots{}@cmd{END DATA} (@pxref{BEGIN DATA}).
are specified after the variable name, separated by a dash (@samp{-}).
For instance, the third through fifth columns on a line would be
specified @samp{3-5}. By default, variables are considered to be in
-@samp{F} format (@pxref{Input/Output Formats}). (This default can be
+@samp{F} format (@pxref{Input and Output Formats}). (This default can be
changed; see @ref{SET} for more information.)
In columnar style, to use a variable format other than the default,
specification with @var{d} decimal places also has @var{d} implied
decimal places.
-In addition to the standard format specifiers (@pxref{Input/Output
+In addition to the standard format specifiers (@pxref{Input and Output
Formats}), FORTRAN style defines some extensions:
@table @asis
DATA LIST FREE
[(@{TAB,'c'@}, @dots{})]
[@{NOTABLE,TABLE@}]
- FILE='filename'
+ FILE='file-name'
END=end_var
/var_spec@dots{}
The variables to be parsed are given as a single list of variable names.
This list must be introduced by a single slash (@samp{/}). The set of
variable names may contain format specifications in parentheses
-(@pxref{Input/Output Formats}). Format specifications apply to all
+(@pxref{Input and Output Formats}). Format specifications apply to all
variables back to the previous parenthesized format specification.
In addition, an asterisk may be used to indicate that all variables
DATA LIST LIST
[(@{TAB,'c'@}, @dots{})]
[@{NOTABLE,TABLE@}]
- FILE='filename'
+ FILE='file-name'
END=end_var
/var_spec@dots{}
@display
For text files:
FILE HANDLE handle_name
- /NAME='filename'
+ /NAME='file-name'
[/MODE=CHARACTER]
/TABWIDTH=tab_width
For binary files with fixed-length records:
FILE HANDLE handle_name
- /NAME='filename'
+ /NAME='file-name'
/MODE=IMAGE
[/LRECL=rec_len]
alternate width may be specified on TABWIDTH. A tab width of 0
suppresses tab expansion entirely.
-In IMAGE mode, the data file is opened in ANSI C binary mode and records
-are fixed in length. In IMAGE mode, LRECL specifies the record length in
-bytes, with a default of 1024. Tab characters are never expanded to
-spaces in binary mode.
+In IMAGE mode, the data file is opened in ANSI C binary mode. Record
+length is fixed, with output data truncated or padded with spaces to
+the record length. LRECL specifies the record length in bytes, with a
+default of 1024. Tab characters are never expanded to spaces in
+binary mode. Records
The NAME subcommand specifies the name of the file associated with the
handle. It is required in CHARACTER and IMAGE modes.
@display
MATRIX DATA
/VARIABLES=var_list
- /FILE='filename'
+ /FILE='file-name'
/FORMAT=@{LIST,FREE@} @{LOWER,UPPER,FULL@} @{DIAGONAL,NODIAGONAL@}
/SPLIT=@{new_var,var_list@}
/FACTORS=var_list
@display
PRINT
- OUTFILE='filename'
+ OUTFILE='file-name'
RECORDS=n_lines
@{NOTABLE,TABLE@}
- /[line_no] arg@dots{}
+ [/[line_no] arg@dots{}]
arg takes one of the following forms:
'string' [start-end]
var_list *
@end display
-The @cmd{PRINT} transformation writes variable data to an output file.
-@cmd{PRINT} is executed when a procedure causes the data to be read.
-Follow @cmd{PRINT} by @cmd{EXECUTE} to print variable data without
-invoking a procedure (@pxref{EXECUTE}).
+The @cmd{PRINT} transformation writes variable data to the listing
+file or an output file. @cmd{PRINT} is executed when a procedure
+causes the data to be read. Follow @cmd{PRINT} by @cmd{EXECUTE} to
+print variable data without invoking a procedure (@pxref{EXECUTE}).
-All @cmd{PRINT} subcommands are optional.
+All @cmd{PRINT} subcommands are optional. If no strings or variables
+are specified, PRINT outputs a single blank line.
The OUTFILE subcommand specifies the file to receive the output. The
file may be a file name as a string or a file handle (@pxref{File
-Handles}). If OUTFILE is not present then output will be sent to PSPP's
-output listing file.
+Handles}). If OUTFILE is not present then output will be sent to
+PSPP's output listing file. When OUTFILE is present, a space is
+inserted at beginning of each output line, even lines that otherwise
+would be blank.
The RECORDS subcommand specifies the number of lines to be output. The
number of lines may optionally be surrounded by parentheses.
@display
PRINT EJECT
- OUTFILE='filename'
+ OUTFILE='file-name'
RECORDS=n_lines
@{NOTABLE,TABLE@}
/[line_no] arg@dots{}
var_list *
@end display
-@cmd{PRINT EJECT} writes data to an output file. Before the data is
-written, the current page in the listing file is ejected.
+@cmd{PRINT EJECT} advances to the beginning of a new output page in
+the listing file or output file. It can also output data in the same
+way as @cmd{PRINT}.
+
+All @cmd{PRINT EJECT} subcommands are optional.
+
+Without OUTFILE, PRINT EJECT ejects the current page in
+the listing file, then it produces other output, if any is specified.
+
+With OUTFILE, PRINT EJECT writes its output to the specified file.
+The first line of output is written with @samp{1} inserted in the
+first column. Commonly, this is the only line of output. If
+additional lines of output are specified, these additional lines are
+written with a space inserted in the first column, as with PRINT.
@xref{PRINT}, for more information on syntax and usage.
@vindex PRINT SPACE
@display
-PRINT SPACE OUTFILE='filename' n_lines.
+PRINT SPACE OUTFILE='file-name' n_lines.
@end display
@cmd{PRINT SPACE} prints one or more blank lines to an output file.
REPEATING DATA
/STARTS=start-end
/OCCURS=n_occurs
- /FILE='filename'
+ /FILE='file-name'
/LENGTH=length
/CONTINUED[=cont_start-cont_end]
/ID=id_start-id_end=id_var
@display
WRITE
- OUTFILE='filename'
+ OUTFILE='file-name'
RECORDS=n_lines
@{NOTABLE,TABLE@}
/[line_no] arg@dots{}
@code{WRITE} writes text or binary data to an output file.
-@xref{PRINT}, for more information on syntax and usage. The main
-difference between @code{PRINT} and @code{WRITE} is that @cmd{WRITE}
-uses write formats by default, where PRINT uses print formats.
+@xref{PRINT}, for more information on syntax and usage. @cmd{PRINT}
+and @cmd{WRITE} differ in only a few ways:
+
+@itemize @bullet
+@item
+@cmd{WRITE} uses write formats by default, whereas @cmd{PRINT} uses
+print formats.
-The sole additional difference is that if @cmd{WRITE} is used to send output
-to a binary file, carriage control characters will not be output.
-@xref{FILE HANDLE}, for information on how to declare a file as binary.
+@item
+@cmd{PRINT} inserts a space between variables unless a format is
+explicitly specified, but @cmd{WRITE} never inserts space between
+variables in output.
+
+@item
+@cmd{PRINT} inserts a space at the beginning of each line that it
+writes to an output file (and @cmd{PRINT EJECT} inserts @samp{1} at
+the beginning of each line that should begin a new page), but
+@cmd{WRITE} does not.
+
+@item
+@cmd{PRINT} outputs the system-missing value according to its
+specified output format, whereas @cmd{WRITE} outputs the
+system-missing value as a field filled with spaces. Binary formats
+are an exception.
+@end itemize
@setfilename ignored