sub hide { my( $new )= 1<@_ ? pop : undef; my $secret; my( $p2, $rc, $f )= unpack "LLL", unpack "P12", pack "L", \$_[0]; if( 5 == unpack "C", pack "V", $f ) { my( $pv, $cur, $siz, $iv )= unpack "L4", unpack "P16", pack "L", $p2; $secret= unpack "P$iv", pack "L", $pv-$iv; } if( defined $new ) { $_[0]= $new . $_[0]; substr( $_[0], 0, length($new) )= ""; } return $secret; }