On Tue, Mar 16, 2010 at 11:47 AM, jbl <jbl...@gmail.com> wrote:
> I am reading a directory and creating an array of .png file names. I
> know for a fact that there are 1025 png files in the folder
> With $count = @files I get 1027
> With $last = $#files I get 1026
> $files [0] = .
> $files[1] = ..
> I have heard of being one off by not taking into account the
> difference in number of elements and the index of the last element but
> why am I 2 off?? As far as the dots in elements 0 & 1, I am sure that
> that is something to do with the path, but what??
>

As others said, '.' is the link to the current directory and '..' is
the link to the parent directory.

Now, as for why they're showing up in your list...


> my @files = grep !/^\.png/, readdir FILENAMES;


This means "give me everything that doesn't start with '.png'." In
addition to '.', it will grab jpegs, tiffs, and anything else in the
directory that doesn't have a filename beginning with '.png'.  You
probably want:

    /\.png/     # everything that contains '.png', or
    /\.png$/    # everything that ends with '.png'

HTH,

-- j
--------------------------------------------------
This email and attachment(s): [  ] blogable; [ x ] ask first; [  ]
private and confidential

daggerquill [at] gmail [dot] com
http://www.tuaw.com  http://www.downloadsquad.com  http://www.engatiki.org

values of β will give rise to dom!

--
To unsubscribe, e-mail: beginners-cgi-unsubscr...@perl.org
For additional commands, e-mail: beginners-cgi-h...@perl.org
http://learn.perl.org/


Reply via email to