From: "David G. Andersen" Date: 2004-11-21T12:13:40+09:00 Subject: Re: Having Ruby 1.8 decide on "File.open" or 'IO.popen'? On Sun, Nov 21, 2004 at 07:41:04AM +0900, Josef 'Jupp' Schugt scribed: > Hi! > > To write to (mbox) file I use "File.open('/var/spool/mail/jupp')". To > write to a (MDA) stream I would use "File.popen('/usr/bin/fetchmail')". > Is there an *existing* means that I can use for both purposes so that I > can code as follows? > > SomeClass.open('/var/spool/mail/jupp') > SomeClass.open('| /usr/bin/fetchmail') Kernel.open("/var/spool/mail/jupp") Kernel.open("| /usr/bin/fetchmail") > Or is there good reason *not* to do that? If there's any user-supplied data in the string and you want to be certain you're opening a file. From a security standpoint, File.open is better because it cannot spawn a sub-shell or invoke other programs. This only matters in certain contexts, obviously. -Dave -- work: dga@lcs.mit.edu me: dga@pobox.com MIT Laboratory for Computer Science http://www.angio.net/