Perl 5 has some unexpected weirdness with shift() and pop() which hinders the 
writing of pipelined code. Bad workarounds exist, however I'd much rather find a 
good solution. 
 
#!/usr/bin/env perl
use warnings;
use strict;
$_ = "foo w00 boo";
print shift split; # this breaks
sub car { return shift }
print car split; # this works
We use the auto-coaxing of lists into arrays through the @_ subroutine data passing as a workaround. I'd much rather just replace shift() and pop() with ones that do the right thing.