my $newenckey = getcryptkey; open(INPF, ">$ENV{HOME}/.tmpass") or die "Can't write $ENV{HOME}/.tmpass: $!\n"; for my $rec_ref(@records) { print INPF "$rec_ref->[0] $rec_ref->[1] $rec_ref->[2]\n"; } close(INPF); open(INPF, "<$ENV{HOME}/.tmpass") or die "Can't write $ENV{HOME}/.tmpass: $!\n"; open(PASSF,">$ENV{HOME}/.perlpasswd") or die "Can't write $ENV{HOME}/.perlpasswd: $!\n"; my $in; while( sysread(INPF,$in,length($newenckey)) ) { print PASSF $in^substr($newenckey,0,length($in)); } close(PASSF);