[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] Columns



>Hallo,
>
>I have a (text) file with the following format:
>
>123420010110010010101  (and so on this way => )
>234531111101100101010
>678940000010010111010
>340151010101110101010
>and so on...
>
>Now let's say the first four characters are a PIN number,
>the following two characters the subject's age, and so on.
>How can I read such a file split in (fixed) columns ?
>I would like to insert tabs at the end of each field, creating
>a tab-delimited text file.
>

Try something along these lines:

$template = "a4 a2 a2";

($pin, $age, $so-on) = unpack($template, $_);

The "a4 a2 ..." is defining alpha fields for the unpack instruction.  So
it'll take the first four chars and make it a field, the next 2 and make it
a field, etc. It's quite handy, and with Perl's loose type checking, quite
flexible.

templates can do a whole lot more, if you want, and are discusses in the
programming perl books.