specify input
add Perl implementation