Thank you. That helped. I get the data as output from another program. Is their any way that I need not save it the output in a temp file and directly pipe it to DBD:CSV.
-----Original Message----- From: Chris Devers [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 14, 2005 5:52 PM To: Vijay Kumar Adhikari Cc: [email protected] Subject: Re: Tabular Data, Group By Functions On Tue, 14 Jun 2005, Vijay Kumar Adhikari wrote: > I have some tab delimited text data like > > ID In Out Day > 1 5 2 1 > 2 4 9 2 > 3 3 3 2 > 4 6 7 3 > 5 5 0 5 > 6 7 9 3 > 7 8 9 4 > 8 6 6 4 > > I want to perform sorting by In, Out and so on. I also want to find > sum of in out grouped by Day. Where should I start? Is there any > module that may help me? I am a beginner. My favorite CPAN module for this kind of work is DBD::CSV, because it lets you use the DBI (DataBase Interface) module to write generic database interaction programs that happen to use simple tab delimited filees like this as the "database". In that way, the things you're talking about doing become simple SQL statements, such as SELECT * FROM table ORDER BY In, Out or (not as sure I have the syntax of this one right...) SELECT SUM(in), SUM(out) FROM table GROUP BY Day Which is almost what you started with :-) Another benefit of interacting with CSV data as if it's in a proper database is that if in the future you choose to move your data into a real database, your Perl code for interacting with that data should only need minor changes: you substitute the DBD::CSV call for DBD::mysql or whatever is appropriate, and you double-check that the SQL syntax is correct for the database server you're switching to. Otherwise, things shouldn't need much work to port your code from one server to another. Learn more about DBD::CSV and DBI at: <http://search.cpan.org/~jzucker/DBD-CSV/lib/DBD/CSV.pm> <http://search.cpan.org/~timb/DBI/DBI.pm> Or take a look at books like _Programming the Perl DBI_ or _Data Munging With Perl_, which has a chapter or two on working with CSV data. -- Chris Devers -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response> -- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.323 / Virus Database: 267.6.9 - Release Date: 6/11/2005 -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.323 / Virus Database: 267.6.9 - Release Date: 6/11/2005 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>
