in reply to SAS Dataset module

Note that my SAS is a little rusty, I've not touched it in about 6 months, and I'm working from memory.

As a previous poster has said, SAS stores it's data in a proprietary format (however this is irrevelant - I don't read MySQL data directly, so why should I care about SAS?).
SAS doesn't exactly make it easy to access data from other applications. ODBC is the only means of DBI compatible way of connecting to the database/application that I'm aware of.

If I remember correctly, it is possible to have SAS read it's input from a pipe; you might what to look at setting up a process that your CGI injects data into to have SAS read it from the other end.

Another alternative would be to dump the data from the CGI into a database that has a Perl friendly interface that SAS can also access, but frankly that's just introducing other pointless layer and, knowing SAS, more cost.

To be honest, I've always found that the simplest way is usually the best: if all you need to do is store data in SAS, dumping the data to a file and calling SAS from Perl to process the data (possibly generating the SAS code to do it first) is simple and relatively fast.

I hope that gives you a few ideas.

If the information in this post is inaccurate, or just plain wrong, don't just downvote - please post explaining what's wrong.
That way everyone learns.

Replies are listed 'Best First'.
Re^2: SAS Dataset module
by ab1447 (Novice) on Dec 15, 2005 at 16:27 UTC
    Thank you for all of your input. Until futher notice, I will just use SAS to process a CGI created file. On an unrelated note, I thought that Microsoft Word, Excel, etc were propority formats, yet OpenOffice works with them. So in theory the obstacle of a SAS properity data format is breakable...right?
      There are a number of projects ongoing to reverse engineer the sas7bdat dataset format. One open opensource project that is written entirely in R code can be found at This would be easily ported to Perl I would think.