多分、 Perl のコードがわからないというより crypt() がわからないんだと思う。
crypt() の仕組みが理解できてないとキツいと思うので、
「crypt パスワード」あたりでぐぐって調べてみるのが良いと思う。