Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: reading file

by bart (Canon)
on Nov 29, 2012 at 12:31 UTC ( #1006241=note: print w/replies, xml ) Need Help??

in reply to reading file

I don't see why you need a regular expression for this. Unless your problem is more complex than what you described here... Here is basically what I'd do:
my %row; while(<>) { chomp; my($key, $value) = split ' ', $_, 2 or next; $row{$key} = $value; }
To test, store your data in a text file and use the file name as the argument for the test script.

Now all data are in a hash. You can see what's in there:

use Data::Dumper; print Dumper \%row;
To put it in an SQL database, I prefer to use DBIx::Simple with support of SQL::Abstract, for which the code could simply be:
# $db is the DBIx::Simple database connection handle object $db->insert($table, \%row);

p.s. The article that got me on my way in regular expressions, is Tom Christiansen's newsgroup post "Irregular Expressions" which has been republished on the net and even on CPAN under the name "FMTEYEWTK (= Far More Than Everything You Ever Wanted To Know) about regexes". You can find a copy here.

It's ancient (duh) and contains some obsolete remarks, but it's still excellent.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006241]
[shmem]: Discipulus: but whence the question, may I ask?
[Discipulus]: silly curiousity .. being honest last night i was planning an obfu based on builtin func prototypes

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2017-05-23 10:20 GMT
Find Nodes?
    Voting Booth?