in reply to Remove from List

Any thoughts? as far as I can tell the file is open... What is going on?

Check whether it is really so:

open (my $LISTDEL, '<', $ARGV[0]) || die $!;

(The same applies to the other open's, obviously)

Update:

It fails because

if (@ARGV = 2){

sets @ARGV to (2). Use ==

Rule One: "Do not act incautiously when confronting a little bald wrinkly smiling man."