Chaim Frenkel wrote:
> 
> >>>>> "PRL" == Perl6 RFC Librarian <[EMAIL PROTECTED]> writes:
> 
> PRL>    %DataHash = unpack $mypic, $SomePackedCobolData;
> 
> Does it unpack it into the hash? Or does it keep a pointer into
> the original structure?

I'd think it would depend on if %DataHash is defined already.  For
unpack() to return a list of key/value pairs is not all that different
from just returning values the way it does now.  For unpack to return
a tied object that refers to a copy of the initial data, that is a little
bit more different but it is within possibility.

 
> What happens when a new key is added to the hash?

that may or may not be possible, I'd like to discuss it further
before declaring one way or the other.
 
> What happens if the underlying structure is overlayed?
> 
>         sysread(FOO, $SomePackedCobolData, $length);
>         %DataHash = unpack $mypic, $SomePackedCobolData;
>         sysread(FOO, $SomePackedCobolData, $length);
> 
> <chaim>

Perl data accessors generally create copies to avoid these "action at
a distance" situations such as the case where %DataHash is composed
of offsets into a scalar which gets redefined.  Perl5's unpack function
creates copies.




These issues presuppose a "closed hash" data type, and its internal
representation.  Why don't you write the RFC that answers these questions?


How would you like to see your coboldata represented and used as a
perl hash?



-- 
                          David Nicol 816.235.1187 [EMAIL PROTECTED]
           perl -e'map{sleep print$w[rand@w]}@w=<>' ~/nsmail/Inbox

Reply via email to