PDL list, Perl 5.20 has copy-on-write (cow) enabled by default. This feature means that copying for example one string to another
$str2 = $str1; does not do the copying, but delays it until a perl operator alters $str2. This again means that if a C-routine linked to Perl modifies $str2, then the changes appear in $str1. That can be prevented by forcing it at the C-level by using the Perl API, but often it is not possible or even a good idea to modify, say, someone else's C-library. I have not found a Perl way to force the copy, except by doing silly things like this, $str2 .= ""; or compiling with -Accflags='-DPERL_NO_COW', an option which is to be removed, they say. There ought to be a run-time configure option that changes the behaviour, or some other way at the Perl level. This cow-thing hits my mixed Perl/C code badly, but is PDL affected too? I have not yet reported the problem and found no complaints with Google, so maybe I missed something. Or have the Perl people forgotten about Inline .. ? Niels L _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
