or download this
The null filehandle <> is special and can be used to emulate the behav
+-
ior of sed and awk. Input from <> comes either from standard input, o
+r
...
ARGV and put the current filename into variable ARGV. It also use
+s
filehandle ARGV internally. You can modify @ARGV before the first <
+>
as long as you leave the first filename at the beginning of the array
+.