Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!ucla-cs!oahu.cs.ucla.edu!frazier From: frazier@oahu.cs.ucla.edu (Greg Frazier) Newsgroups: comp.lang.perl Subject: Rank beginners question Message-ID: <1991May2.173518.4194@cs.ucla.edu> Date: 2 May 91 17:35:18 GMT Sender: usenet@cs.ucla.edu (Mr. News Himself) Organization: UCLA Computer Science Department Lines: 28 Originator: frazier@oahu.cs.ucla.edu Nntp-Posting-Host: oahu.cs.ucla.edu Hi-howdy - I am a beginner perl hack (obviously). I am trying to get my script to manipulate some files in my directory. This works @foo = `ls *`; but this does not work @foo = `ls ~frazier`; the error msg is ~frazier not found I do not understand why the '*' gets expanded correctly but '~frazier' does not. BTW, I am running cshell ($ENV{'SHELL'}=/bin/csh). The man page for csh indicates that '*' and '~[username]' are both examples of filename expansion, so I would have assumed that if one was happening, the other would too. I have tried various quotes and escapes to no avail: @foo = `ls '~frazier'`; @foo = `ls \~frazier`; @foo = `'ls ~frazier'`; Any and all responses appreciated. And, no, I do not want to use $ENV{`HOME`}, 'cuz I'd like other people to be able to run this script (and the files are in my directory). -- Greg Frazier frazier@CS.UCLA.EDU !{ucbvax,rutgers}!ucla-cs!frazier