http://qs321.pair.com?node_id=556399

0xbeef has asked for the wisdom of the Perl Monks concerning the following question:

I read a data file into a scalar $data using a variation of fastslurp. I'd like to refer to the actual data record (mostly text, but maybe binary as well in the future) in another variable. Here is a rather simplified representation of the scalar $data:

-----------offset---- | record1 | 0 | | record2 | 10 | | record3 | 87 | ---------------------

Seeing that $data already contains the actual data, is there a way to map a new variable $rec1 (or maybe an array) to the actual data in $data if I know the start/end position for each record? i.e. $rec1 should magically map to record1 using only pointers to data in $data. At all costs, it should avoid making a _copy_ of the actual data.

Sorry this strikes me as a laughable question but I just cannot think of the correct method and I need an efficient implementation!

Niel