Tielman Koekemoer (TNE) wrote:
Hi all,

Hello,

Why can't I use a subscript in the angle brackets? e.g.

@files=`ls /app2/koekemtn/scripts/dbstats/test`;

chomp $files[0];

open ( $files[0] , "<$files[0]") || die "Cannot open $files[0]\n";

while (<$files[0]>) {
        print "$_";
}

perldoc perlop
[snip]

       I/O Operators

[snip]

       If what the angle brackets contain is a simple scalar variable (e.g.,
       <$foo>), then that variable contains the name of the filehandle to
       input from, or its typeglob, or a reference to the same.  For example:

           $fh = \*STDIN;
           $line = <$fh>;

       If what's within the angle brackets is neither a filehandle nor a
       simple scalar variable containing a filehandle name, typeglob, or
       typeglob reference, it is interpreted as a filename pattern to be
       globbed, and either a list of filenames or the next filename in the
       list is returned, depending on context.  This distinction is determined
       on syntactic grounds alone.  That means "<$x>" is always a readline()
       from an indirect handle, but "<$hash{key}>" is always a glob().  That's
       because $x is a simple scalar variable, but $hash{key} is not--it's a
       hash element.



John
--
use Perl;
program
fulfillment

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to