xorl has asked for the wisdom of the Perl Monks concerning the following question:
So I've been using Tie::File to edit a file
tie @array, 'Tie::File', "$the_dir$filename", recsep => ']', autochomp => 0;
I use the recsep => ']' because the data in the file is enclosed in brackets. Separating it on a closing bracket seemed easier than trying to figure out how to deal with the records that span multiple lines.
This all works fine except that at the end of the file are comments not enclosed in brackets. Tie:File of course adds a final closeing recsep (in this case a ']'). I really don't want it there. Short of untieing the file and reopening it and removing the final }, is there a way to easily get rid of the extra }? Is it possible to define multiple characters as the recsep (like either ']' or '/')? Am I just doing this wrong?
In case anyone needs to see the sample data in the file:
/* comment */
[record1,
param1:value1
param2:value2
]
[record2,
param2:value2
]
/* end all records for 2012-06-21 */
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: tie file and multiple record seperator
by choroba (Cardinal) on Jun 25, 2012 at 18:42 UTC | |
|
Re: tie file and multiple record seperator
by 2teez (Vicar) on Jun 25, 2012 at 23:30 UTC |