[ List each enhancement as a =head2 entry ]
-=head2 Integer shift (C<< << >> and C<< >> >>) now explicitly defined
+=head2 Integer shift (C<< << >> and C<< >> >>) now more explicitly defined
Negative shifts are reverse shifts: left shift becomes right shift,
and right shift becomes left shift.
Until now negative shifting and overshifting have been undefined
because they have relied on whatever the C implementation happens
-to do. For example, for the "overshift" a common behavior C is
+to do. For example, for the overshift a common C behavior is
"modulo shift":
1 >> 64 == 1 >> (64 % 64) == 1 >> 0 == 1 # Common C behavior.
Now these behaviors are well-defined under Perl, regardless of what
the underlying C implementation does. Note, however, that you cannot
-escape the native integer width. If you need more bits on the left shift,
-you could use the C<bigint> pragma.
+escape the native integer width, you need to know how far left you
+can go. You can use for example:
+
+ use Config;
+ my $wordbits = $Config{uvsize} * 8; # Or $Config{uvsize} << 3.
+
+If you need a more bits on the left shift, you can use for example
+the C<bigint> pragma, or the C<Bit::Vector> module from CPAN.
=head2 Postfix dereferencing is no longer experimental