Index: S
- /s pattern-matching modifier : Introduction
-
- matching multiple lines : Matching Multiple Lines
- substitution modifier : Indenting Here Documents
- s/// operator
-
- ~ operator with : Accessing Substrings
- stripping whitespace with : Indenting Here Documents
- sascii program (example) : Reading from the Keyboard
- save_parameters( ) : Saving a Form to a File or Mail Pipe
- scalars : Introduction
-
- arrays of scalar references : Creating Arrays of Scalar References
- detecting scalar context : Detecting Return Context
- exchanging values between : Exchanging Values Without Using Temporary Variables
- references to : Taking References to Scalars
- schemes (URLs) : Introduction
- Schwartz, Randal : Sorting a List by Computable Field
- scope of subroutine variables : Making Variables Private to a Function
- screen : (see user interfaces)
- scripts, CGI : (see CGI developing)
- SDBM library : Introduction
- searching for patterns : (see pattern matching; regular expressions)
- seconds : (see date and time)
- security
-
- CGI scripts
-
- Introduction
- Writing a Safe CGI Program
- executing user commands : Executing Commands Without Shell Escapes
- connecting through firewalls : Program: fwdport
- reading passwords without echo : Reading Passwords
- testing files for trustworthiness : Testing a File for Trustworthiness
- seek( )
- seekdir( ) : Processing All Files in a Directory
- seeme program (example) : Flushing Output
- select( )
-
- Short Sleeps
- Communicating over TCP
- changing STDOUT : Introduction
- reading from multiple filehandles
- self-referential data structures : Coping with Circular Data Structures
- SelfLoader module : Speeding Module Loading with SelfLoader
- separators, menu : Creating Menus with Tk
- servers
-
- daemon servers : Making a Daemon Server
- forking : Forking Servers
- multi-homed : Writing a Multi-Homed Server
- non-forking : Non-Forking Servers
- POP3 : Reading Mail with POP3
- pre-forking : Pre-Forking Servers
- restarting on demand : Restarting a Server on Demand
- TCP : Writing a TCP Server
- UDP : Setting Up a UDP Server
- set theory : Finding Elements in One Array but Not Another
- setsockopt( ) : Non-Forking Servers
- setting up : (see initializing)
- shallow copies : Copying Data Structures
- shared locks : Locking a File
- sharetest program (example) : Sharing Variables in Different Processes
- sharing variables among processes : Sharing Variables in Different Processes
- shell escapes, executing commands without : Executing Commands Without Shell Escapes
- shell wildcards for regexp matching : Matching Shell Globs as Regular Expressions
- shift( )
-
- circular lists : Implementing a Circular List
- on multiple array elements : Processing Multiple Elements of an Array
- Tie::IxHash module and : Retrieving from a Hash in Insertion Order
- shopping cart : Writing a Multiscreen CGI Script
- shuffling
-
- (see also random)
- Randomizing All Lines
- array elements : Randomizing an Array
- file line order : Randomizing All Lines
- shutdown( ) : Closing a Socket After Forking
- %SIG hash : Installing a Signal Handler
- SIGALRM signal
- SIGCHLD signal
- SIGHUP signal
- SIGINT signal
- signals : Introduction
-
- blocking : Blocking Signals
- handlers for : Installing a Signal Handler
- listing available : Listing Available Signals
- process groups
- sending : Sending a Signal
- signatures, randomized : Program: sigrand
- SIGPIPE signal
- sigprocmask system call : Blocking Signals
- SIGQUIT signal : Introduction
- sigrand program (example) : Program: sigrand
- SIGTERM signal : Introduction
- SIGUSR1, SIGUSR2 signals : Introduction
- sin( ) : Calculating More Trigonometric Functions
- single inheritance : Introduction
- single quotes (') : Introduction
- size
-
- arrays, changing : Changing Array Size
- hashes, preallocating for : Presizing a Hash
- Tk window resize events : Responding to Tk Resize Events
- window/terminal, determining : Determining Terminal or Window Size
- sleeps : Short Sleeps
- slowcat program (example) : Processing a String One Character at a Time
- SOCK_ constants : Introduction
- sockaddr_in( )
- sockaddr_un( ) : Introduction
- socket( ) : Introduction
- sockets : Introduction
-
- bidirectional clients : Writing Bidirectional Clients
- closing after forking : Closing a Socket After Forking
- connecting through firewalls : Program: fwdport
- daemon servers : Making a Daemon Server
- finding own name/address : Finding Your Own Name and Address
- forking servers : Forking Servers
- identifying machine at end : Identifying the Other End of a Socket
- logging port connection attempts : Program: backsniff
- multi-homed servers : Writing a Multi-Homed Server
- non-blocking : Writing a TCP Server
- non-forking servers : Non-Forking Servers
- pre-forking servers : Pre-Forking Servers
- restarting servers on demand : Restarting a Server on Demand
- TCP protocol
-
- communicating over : Communicating over TCP
- writing clients : Writing a TCP Client
- writing servers : Writing a TCP Server
- UDP protocol
-
- writing clients : Setting Up a UDP Client
- writing servers : Setting Up a UDP Server
- Unix domain
- soft links : (see symbolic links)
- sort( )
- sortdemo program (example) : Sorting Large DBM Files
- sorting
-
- array elements : Sorting an Array Numerically
- DBM files : Sorting Large DBM Files
- directory contents
- du command output : Program: dutree
- hash elements : Sorting a Hash
- mail (example subroutine) : Program: Sorting Your Mail
- pod =head1 sections : Program: tkshufflepod
- randomizing array element order : Randomizing an Array
- randomizing file line order : Randomizing All Lines
- text into columns : Program: words
- Soundex matching : Soundex Matching
- spaces : (see whitespace)
- specific classes : Introduction
- spider (robot) : Creating a Robot
- splice( ) : Processing Multiple Elements of an Array
-
- Tie::IxHash module and : Retrieving from a Hash in Insertion Order
- split( )
-
- Processing a String One Character at a Time
- Processing Every Word in a File
- Processing Variable-Length Text Fields
- reading records with pattern separators : Reading Records with a Pattern Separator
- sprintf( )
-
- %c format : Converting Between ASCII Characters and Values
- comparing floating-point numbers : Comparing Floating-Point Numbers
- rounding floating-point numbers : Rounding Floating-Point Numbers
- SQL database : Creating HTML Templates
- SQL queries
- srand( ) : Generating Different Random Numbers
- stale hyperlinks, finding : Finding Stale Links
- standard filehandles : Introduction
- stat( )
- static data members
- static scoping : Saving Global Values
- STDERR filehandle : Introduction
-
- controlling for other programs : Controlling the Input, Output, and Error of Another Program
- reading from programs : Reading STDERR from a Program
- STDIN filehandle : Introduction
-
- preprocessing input : Preprocessing Input
- testing for interactivity : Testing Whether a Program Is Running Interactively
- stdio library : Introduction
- STDOUT filehandle : Introduction
-
- filtering output : Filtering Your Own Output
- testing for interactivity : Testing Whether a Program Is Running Interactively
- sticky widgets : Creating Sticky Widgets
- stingy matching : (see non-greedy pattern matching)
- Storable module : Copying Data Structures
- STORE( ) : Creating Magic Variables with tie
- store( ) (Storable module) : Storing Data Structures to Disk
- stream sockets
- strftime( ) : Printing a Date
- String::Approx module : Approximate Matching
- strings
-
- (see also variables)
- Introduction
- Expanding Variables in User Input
- accessing substrings : Accessing Substrings
- checking if valid numbers : Checking Whether a String Is a Valid Number
- converting ASCII and values : Converting Between ASCII Characters and Values
- converting ASCII to/from HTML : Converting ASCII to HTML
- converting case : Controlling Case
- copying and substituting : Copying and Substituting Simultaneously
- default values for : Establishing a Default Value
- duplicate words, finding : Detecting Duplicate Words
- escaping characters : Escaping Characters
- hash element indices : Introduction
- HTML text substitutions : Program: htmlsub
- interpolating functions/expression within : Interpolating Functions and Expressions Within Strings
- matching letters : Matching Letters
- matching words : Matching Words
- numeric operators with : Overloading Operators
- parsing datetime information in : Parsing Dates and Times from Strings
- plurals based on numbers : Printing Correct Plurals
- processing characters individually : Processing a String One Character at a Time
- psgrep program (example) : Program: psgrep
- reading from binary files : Reading a String from a Binary File
- reformatting paragraphs : Reformatting Paragraphs
- removing leading/trailing spaces : Trimming Blanks from the Ends of a String
- removing/extracting HTML tags : Extracting or Removing HTML Tags
- reversing elements of : Reversing a String by Word or Character
- substituting specific words : Program: fixstyle
- text color, changing : Changing Text Color
- strings program (example) : Reading a String from a Binary File
- stripping whitespace : Trimming Blanks from the Ends of a String
- StrNum class (example) : Overloading Operators
- struct( ) (Class::Struct) : Using Classes as Structs
- struct_flock( ) (lockarea) : Program: lockarea
- structs, classes as : Using Classes as Structs
- sub keyword : Introduction
- subclasses : Introduction
-
- determining membership : Determining Subclass Membership
- inheritance and : Solving the Data Inheritance Problem
- subject, sorting mail by (example) : Program: Sorting Your Mail
- submitting HTML forms : Automating Form Submission
- subroutines : Introduction
-
- access arguments of : Accessing Subroutine Arguments
- built-in, overriding : Overriding Built-In Functions
- currently running, name of : Determining Current Function Name
- email sorter (example) : Program: Sorting Your Mail
- exception handling : Handling Exceptions
- localizing : Redefining a Function
- nesting : Nesting Subroutines
- passing by named parameter : Passing by Named Parameter
- passing by reference : Passing Arrays and Hashes by Reference
- private for modules : Making Variables Private to a Module
- private variables : Making Variables Private to a Function
- prototypes for functions : Prototyping Functions
- return context, detecting : Detecting Return Context
- return values
-
- returning by reference : Returning More Than One Array or Hash
- returning failure : Returning Failure
- skipping selected : Skipping Selected Return Values
- saving global values : Saving Global Values
- trapping undefined function calls : Trapping Undefined Function Calls with AUTOLOAD
- substituting within strings : Copying and Substituting Simultaneously
- substr( ) : Accessing Substrings
- substrings : Accessing Substrings
- SUPER class : Accessing Overridden Methods
- superclasses : Introduction
-
- accessing overridden methods : Accessing Overridden Methods
- inheritance and : Solving the Data Inheritance Problem
- surface copies : Copying Data Structures
- surl script : Finding Fresh Links
- switch statement
- Symbol::qualify( ) : Determining the Caller's Package
- symbolic links : Introduction
-
- duplicating directory trees : Program: symirror
- to packages : Referring to Packages Indirectly
- symirror program (example) : Program: symirror
- symmetric differences of lists : Computing Union, Intersection, or Difference of Unique Lists
- Sys::Hostname module : Finding Your Own Name and Address
- Sys::Syslog module : Program: backsniff
- syscall( ) : High-Resolution Timers
- sysopen( ) : Opening a File
-
- strange filenames with : Opening Files with Unusual Filenames
- sysread( )
- sysseek( ) : Introduction
- system( )
- SysV IPC : Sharing Variables in Different Processes
- syswrite( )
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z