in reply to Unpack for VMS binary files
I'm not sure if perl on VMS supports the 'q' format to pack/unpack 64-bit values. If it does, you should be able to use this template: 'q s12'. That means one quadword (64 bits) followed by 12 shorts (16 bits each). The time will be in $field[0] and the rest of the values in successive elements.
If VMS perl doesn't support the 'q' format, you'll have to read it out as two longs (32 bits each). That template would be 'i2 s12'. The time field from your record will occupy $field[0] and $field[1] with the rest of the fields following in order.
See Pack/Unpack Tutorial (aka How the System Stores Data) for more information on how pack and unpack work.
--- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Unpack for VMS binary files
by maderman (Beadle) on Feb 19, 2003 at 02:55 UTC | |
by pfaut (Priest) on Feb 19, 2003 at 02:58 UTC | |
by maderman (Beadle) on Feb 19, 2003 at 04:36 UTC | |
by Elian (Parson) on Feb 19, 2003 at 17:31 UTC | |
by maderman (Beadle) on Feb 19, 2003 at 21:12 UTC | |
|