I think it suffices to escape the input: glob("\Q$file\E/*")

$ find .|od -c
0000000   .  \0   .   /   t   h   i   s   '       i   s       '   a    
0000020   t   e   s   t   f   i   d  \0   .   /   t   h   i   s   '    
0000040   i   s       '   a       t   e   s   t   f   i   d   /   w   i
0000060   b   l   e   *       h   e   l   l   o  \0   .   /   t   h   i
0000100   s   '       i   s       '   a       t   e   s   t   f   i   d
0000120   /   w   i   b   l   e   *       h   e   l   l   o   /   f   o
0000140   o   b       q   u   x  \n   h   e   l   l   o  \0   .   /   t
0000160   h   i   s   '       i   s       '   a       t   e   s   t   f
0000200   i   d   /   w   i   b   l   e   *       h   e   l   l   o   /
0000220   f   o   o   b       q   u   x  \n   h   e   l   l   o   /   b
0000240   a   r  \0
0000243

$ perl -e 'sub _{($f)[EMAIL 
PROTECTED];print"$f\0";map{_($_)}glob("\Q$f\E/*")}_(".")'|od -c
0000000   .  \0   .   /   t   h   i   s   '       i   s       '   a    
0000020   t   e   s   t   f   i   d  \0   .   /   t   h   i   s   '    
0000040   i   s       '   a       t   e   s   t   f   i   d   /   w   i
0000060   b   l   e   *       h   e   l   l   o  \0   .   /   t   h   i
0000100   s   '       i   s       '   a       t   e   s   t   f   i   d
0000120   /   w   i   b   l   e   *       h   e   l   l   o   /   f   o
0000140   o   b       q   u   x  \n   h   e   l   l   o  \0   .   /   t
0000160   h   i   s   '       i   s       '   a       t   e   s   t   f
0000200   i   d   /   w   i   b   l   e   *       h   e   l   l   o   /
0000220   f   o   o   b       q   u   x  \n   h   e   l   l   o   /   b
0000240   a   r  \0
0000243

I have uploaded a new version with the fix.


-jonathan




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to