croak 'Invalid negative offset' if $fs < 0 or $ts < 0;
croak 'Invalid negative length' if $l < 0;
my $step = $ts - $fs;
- if ($step <= 0) {
+ if ($step <= 0) {
vec($_[2], $_ + $step, 1) = vec($_[0], $_, 1) for $fs .. $fs + $l - 1;
} else { # There's a risk of overwriting if $_[0] and $_[2] are the same SV.
vec($_[2], $_ + $step, 1) = vec($_[0], $_, 1) for reverse $fs .. $fs + $l - 1;
=head1 DEPENDENCIES
+L<perl> 5.6.
+
+A C compiler.
+This module may happen to build with a C++ compiler as well, but don't rely on it, as no guarantee is made in this regard.
+
L<Carp>, L<Exporter> (core modules since perl 5), L<XSLoader> (since perl 5.006).
=head1 SEE ALSO
=head1 COPYRIGHT & LICENSE
-Copyright 2008,2009,2010,2011 Vincent Pit, all rights reserved.
+Copyright 2008,2009,2010,2011,2012 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.