Don't pass the algorithm either, since that will also be parsed; if you pass one it is ignored. (Well, actually it tries to validate it but then ignores the validation failure in case it's an algorithm the module doesn't know about, and then later ignores it anyway since you specified a salt.)
use Crypt::Password 'password';
my $password = 'abc';
my $crypt = '$1$Wl2RANfv$M9PjezS//sUMDRnhhO5vR1';
print "Password matches\n" if password( $password, $crypt ) eq $crypt;
--
A math joke: r = | |csc(θ)|+|sec(θ)| |-| |csc(θ)|-|sec(θ)| |