in reply to Re^2: [Windows] Given lower-cased file name, how to get actual file name (stored on filesystem) ?
in thread [Windows] Given lower-cased file name, how to get actual file name (stored on filesystem) ?

Eh?
$ md tmpblah $ echo > tmpblah\aone.pl $ echo > tmpblah\bOne.pl $ echo > tmpblah\cONe.pl $ echo > tmpblah\dONE.pl $ perl -MPath::Class::Rule -le "print for Path::Class::Rule->new->file +->iname(qr/.one.pl/)->all(q/tmpblah/) " tmpblah\aone.pl tmpblah\bOne.pl tmpblah\cONe.pl tmpblah\dONE.pl
  • Comment on Re^3: [Windows] Given lower-cased file name, how to get actual file name (stored on filesystem) ?
  • Download Code

Replies are listed 'Best First'.
Re^4: [Windows] Given lower-cased file name, how to get actual file name (stored on filesystem) ?
by Corion (Patriarch) on Oct 22, 2012 at 13:08 UTC

    Ah, I thought there would be an approach not involving ->all, which is IMO not different from just using grep /one.pl/ readdir $foo. But at least it has a nice syntax. I was hoping for something more direct there.

      I thought maybe ->resolve would do it but it doesn't , its just like rel2abs
      $ perl -MFile::Spec -le " print File::Spec->rel2abs( shift ) " tmp\tmp +blah\done.pl D:\tmp\tmpblah\done.pl $ perl -MPath::Class -le " print file( shift )->resolve " tmp\tmpblah\ +done.pl tmp\tmpblah\done.pl $ perl -MPath::Class -le " print file( shift )->resolve->absolute " tm +p\tmpblah\done.pl D:\tmp\tmpblah\done.pl