osx - I want -e to work case-sensitively on OS X. Is it possible? -
osx - I want -e to work case-sensitively on OS X. Is it possible? -
i'm developing script makes utilize of -e
flag, in
unless (-e $filename) { ... }
this works fine on os x. or, rather, doesn't work correctly. want case-sensitive. script run on linux machine, , -e
check fails--rightly!--because of case sensitivity.
i tried alternate path open <filehandle, '$filename')
, seems that, too, case insensitive.
edit: answered below. know hfs+ case-insensitive, thought "force" somehow. did end forcing check doing like:
opendir my($dh), $dirname or die "couldn't open dir '$dirname'"; @reffiles = readdir $dh; closedir $dh; foreach $reffile (@reffiles) { if ($reffile eq $reffilename) { $found = 1; } }
the famous mantra: "it's not pretty, works."
the lack of case sensitivity due filesystem using (hfs+), not perl functions -e
, open
, nor underlying stat(2) , open(2) scheme calls.
the hfs+ filesystem not case sensitive default; however, may elect create case-sensitive hfs+ volume when initializing new filesystem (using disk utility, diskutil, or *newfs_hfs*, etc.): select “case-sensitive” version.
i have seen reports of (badly written) programs malfunctioning when run case-sensitive boot volume, advise utilize separate volume case-sensitive work. example, create disk image (i.e. “sparse disk bundle image”) “mac os extended (case-sensitive, journaled)” filesystem , mount when need case-sensitive work (e.g. open ~/case-sensitive.sparsebundle
, cd /volumes/case-sensitive/foobar
case-sensitive work there).
osx perl case-sensitive case-insensitive
Comments
Post a Comment