This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



puts(n)                                     Tcl Built-In Commands                                    puts(n)



____________________________________________________________________________________________________________

NAME
       puts - Write to a channel

SYNOPSIS
       puts ?-nonewline? ?channelId? string
____________________________________________________________________________________________________________


DESCRIPTION
       Writes the characters given by string to the channel given by channelId.

       ChannelId  must  be  an  identifier  for  an  open  channel such as a Tcl standard channel (stdout or
       stderr), the return value from an invocation of open or socket, or the result of a  channel  creation
       command provided by a Tcl extension. The channel must have been opened for output.

       If  no  channelId  is specified then it defaults to stdout. Puts normally outputs a newline character
       after string, but this feature may be suppressed by specifying the -nonewline switch.

       Newline characters in the output are translated by puts to  platform-specific  end-of-line  sequences
       according  to  the current value of the -translation option for the channel (for example, on PCs new-lines newlines
       lines are normally replaced with carriage-return-linefeed sequences.  See the fconfigure manual entry
       for a discussion on ways in which fconfigure will alter output.

       Tcl buffers output internally, so characters written with puts may not appear immediately on the out-put output
       put file or device;  Tcl will normally delay output until the  buffer  is  full  or  the  channel  is
       closed.  You can force output to appear immediately with the flush command.

       When the output buffer fills up, the puts command will normally block until all the buffered data has
       been accepted for output by the operating system.  If channelId is in nonblocking mode then the  puts
       command  will  not block even if the operating system cannot accept the data.  Instead, Tcl continues
       to buffer the data and writes it in the background as fast as  the  underlying  file  or  device  can
       accept  it.   The  application must use the Tcl event loop for nonblocking output to work;  otherwise
       Tcl never finds out that the file or device is ready for more output data.  It  is  possible  for  an
       arbitrarily  large  amount of data to be buffered for a channel in nonblocking mode, which could con-sume consume
       sume a large amount of memory.  To avoid wasting memory, nonblocking I/O should normally be  used  in
       an  event-driven fashion with the fileevent command (do not invoke puts unless you have recently been
       notified via a file event that the channel is ready for more output data).

EXAMPLES
       Write a short message to the console (or wherever stdout is directed):
              puts "Hello, World!"

       Print a message in several parts:
              puts -nonewline "Hello, "
              puts "World!"

       Print a message to the standard error channel:
              puts stderr "Hello, World!"

       Append a log message to a file:
              set chan [open my.log a]
              set timestamp [clock format [clock seconds]]
              puts $chan "$timestamp - Hello, World!"
              close $chan


SEE ALSO
       file(n), fileevent(n), Tcl_StandardChannels(3)


KEYWORDS
       channel, newline, output, write



Tcl                                                  7.5                                             puts(n)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Tcl project.
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Tcl project through their bug reporting page.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...