sub dbconnect { socket(my $mysocket, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die("socket: $!"); fileno($mysocket) >= 100 or die("No available file descriptors below 100\n"); # ... } #### use strict; use warnings; use Socket; my @handles; for (0..9) { open($handles[$_], '<', $0) or die; print("$_: ", fileno($handles[$_]), "\n"); } print("--\n"); close($handles[5]); socket(my $mysocket, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die; print(fileno($mysocket), "\n"); #### 0: 3 1: 4 2: 6 3: 8 4: 9 5: 10 6: 11 7: 12 8: 13 9: 14 -- 10