http://www.perlmonks.org?node_id=1007400

Phinix has asked for the wisdom of the Perl Monks concerning the following question:

Having a bit of a strange issue with a regular expression I was using to list all files of type .jpg in a folder. It seems it is missing files that are named very similar to the file before it.

Here is the code:

#!/usr/bin/perl use strict; use warnings; my $dir = 'C:/Some/Random/Folder/tmp/bin'; opendir (DIR, $dir); open(DATA, ">file.txt"); while (my $file = readdir(DIR)) { # Use a regular expression to find files ending in .jpg next unless ($file =~ m/\.jpg$/); print DATA "C:\\Some\\Random\\Folder\\perl\\bin\\$file\n"; } close(DATA);
The problem is I have a file named "test.jpg" and another called "testl.jpg" and the expression only picks up the first one. Other than that, it works fine.