puterboy has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to use perl to parse my mysqldump backup files.
The format of the colum name heading list is:
. It seems like the most logical way to store the data would be either as an array of arrays (without any explicit column header names) or as an array of hashes where the hash is indexed by the column names.
I am interested in trying both ways. However, I don't know how best to parse the single quotes and backslashed quotes so that for example parentheses or commas or a backslashed quote within a single quoted string get properly treated as a string character and not as a seperater.
. I also would be interested in a slick way of slurping this in without having to use some generic heavy-duty perl parser module. It seems like the parsing shouldn't be too difficult since the rules are simple but I don't know the best way...
Has anyone either parsed mysqldump format (or similar formats) before?
The format of the colum name heading list is:
The format of a general table is:(`col1_name`, `col2_name`, `col3_name`,...)
where each parenthetical list represents a row and rows are separated by commas. Numerical entries can be written as-is, while string entries are enclosed in single quotes. Single quotes within a string can be escaped with a backslash. Commas and parenthesis are treated as string characters when within a quoted string.(col1_entry, col2_entry, col3_entry),(col1_entry, col2_entry, col3_ent +ry), (col1_entry, col2_entry, col3_entry)...
. It seems like the most logical way to store the data would be either as an array of arrays (without any explicit column header names) or as an array of hashes where the hash is indexed by the column names.
I am interested in trying both ways. However, I don't know how best to parse the single quotes and backslashed quotes so that for example parentheses or commas or a backslashed quote within a single quoted string get properly treated as a string character and not as a seperater.
. I also would be interested in a slick way of slurping this in without having to use some generic heavy-duty perl parser module. It seems like the parsing shouldn't be too difficult since the rules are simple but I don't know the best way...
Has anyone either parsed mysqldump format (or similar formats) before?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Parsing mysqldump files
by Anonymous Monk on Feb 24, 2013 at 20:45 UTC | |
by puterboy (Scribe) on Feb 26, 2013 at 21:15 UTC | |
by Anonymous Monk on Feb 27, 2013 at 12:14 UTC | |
Re: Parsing mysqldump files
by Anonymous Monk on Feb 24, 2013 at 20:42 UTC | |
Re: Parsing mysqldump files
by 7stud (Deacon) on Feb 25, 2013 at 03:47 UTC | |
by Anonymous Monk on Feb 25, 2013 at 04:27 UTC |
Back to
Seekers of Perl Wisdom