From poj's reply: SEND: { ... }
What is the SEND() for? What does it do?
In this case, SEND is not a function call (as the () argument list operator you use would suggest), but is the label of a block that establishes a scope for the local-ization of changes to the global STDOUT and STDERR system file handles. (Update: See Compound Statements and Basic BLOCKs, both in perlsyn.)
The label is not syntactically or semantically necessary for the establishment or operation of the scope in this case, but serves a purely documentary function: What's happening in the block? We're SENDing something. At the end of the block (or scope), the values of STDOUT and STDERR that existed before entering the block/scope are automatically restored.
Update: If you haven't already, take a look at Coping with Scoping by Dominus, especially the discussions of local and package variables.
Give a man a fish: <%-{-{-{-<
In reply to Re^5: STDERR Restore after redirect (updated)
by AnomalousMonk
in thread STDERR Restore after redirect
by tultalk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |