Search Perl pages
Professions, Sciences, Humanities, Business, ...
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Conversions, tests, processing, manipulation,...
Integer, Floating point, Matrix, Statistics, Boolean, ...
Algorithms, Memory, Process control, Debugging, ...
Data storage, Integrity, Encryption, Compression, ...
Networks, protocols, Interprocess, Remote, Client Server, ...
Timing, Calendar and Clock, Audio, Video, Printer, Controls...
Management, Filtering, File & Directory access, Viewers, ...
Next: Scalar values
The interpretation of operations and values in Perl sometimes depends on
the requirements of the context around the operation or value. There are
two major contexts: scalar and list. Certain operations return list values
in contexts wanting a list, and scalar values otherwise. (If this is true
of an operation it will be mentioned in the documentation for that
operation.) In other words, Perl overloads certain operations based on
whether the expected return value is singular or plural. (Some words in
English work this way, like ``fish'' and ``sheep''.)
In a reciprocal fashion, an operation provides either a scalar or a list
context to each of its arguments. For example, if you say
int( <STDIN> )
the integer operation provides a scalar context for the <
operator, which responds by reading one line from
STDIN and passing it back to the integer operation,
which will then find the integer value of that line and return that. If, on
the other hand, you say
sort( <STDIN> )
then the sort operation provides a list context for <
STDIN>, which will proceed to read every line available up to the end of file,
and pass that list of lines back to the sort routine, which will then sort
those lines and return them as a list to whatever the context of the sort
Assignment is a little bit special in that it uses its left argument to
determine the context for the right argument. Assignment to a scalar
evaluates the righthand side in a scalar context, while assignment to an
array or array slice evaluates the righthand side in a list context.
Assignment to a list also evaluates the righthand side in a list context.
User defined subroutines may choose to care whether they are being called
in a scalar or list context, but most subroutines do not need to care,
because scalars are automatically interpolated into lists. See wantarray.
Source: Perl data types
Copyright: Larry Wall, et al.
Previous: Variable names
(Corrections, notes, and links courtesy of RocketAware.com)
Up to: PERL
Search | About | Comments | Submit Path: RocketAware > Perl >
RocketAware.com is a service of Mib Software
Copyright 2000, Forrest J. Cavalier III. All Rights Reserved.
We welcome submissions and comments