in reply to Re^3: Globbing for file in an unkown directory path only works first time in foreach loop?
in thread Globbing for file in an unkown directory path only works first time in foreach loop?

look at the output! it access the same file both runs, just the first time it finds it and the second time through the foreach loop it doesn't. I'll try and write it your way while you look

notice the array it is scanning through has 4257 as it's first element and it's second. It finds the 4257 file through the foreach the first time, but then one the foreach move to the second element in the array, which happens to be the exact same as the first element, it can't find the same file it just found.

  • Comment on Re^4: Globbing for file in an unkown directory path only works first time in foreach loop?

Replies are listed 'Best First'.
Re^5: Globbing for file in an unkown directory path only works first time in foreach loop?
by poj (Abbot) on Jan 29, 2016 at 20:43 UTC

    How many files do you expect to find with

    glob('/home/myfiles/day_of_year/'.$day_of_year.'/*/desired_file.txt');

    Is it only 1 ?

    poj

      yes only one

      the directory structure looks something like

      /home/myfiles/day_of_year/255/data/JPF_374362/desired_file.txt

      /home/myfiles/day_of_year/256/data/EJF_264827/desired_file.txt

      /home/myfiles/day_of_year/257/data/FFE_387392/desired_file.txt

      where after the data directory there is a day specific ID (three letters, underscore, and then a bunch of numbers, all are unpredictable for each day) and within there is the file named desired_file.txt

        In that case try adding (). I think your problem is that glob in a scalar context, makes it act as an iterator:

        my ($info_desired_filepath) = glob('/home/myfiles/day_of +_year/'.$day_of_year.'/*/desired_file.txt');
        poj
Re^5: Globbing for file in an unkown directory path only works first time in foreach loop?
by Anonymous Monk on Jan 29, 2016 at 20:56 UTC