>>7
#!/usr/local/bin/perl

$a = "triptrip";
$b = substr($a, , 3) . "H";

printf "[$a] [$b] %s",substr(crypt($a, $b), -8);
exit;
# 結果は [triptrip] [ptripH] eOG.wRhM

実際に動かしてみると、2 番目の引数が undef になるので省略されたとして、
3 番目の引数が offset にされちゃうようです。@ Perl 5.6.1 の場合