You are checking the wrong thing for defined().
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11141789 use warnings; my $filename = 'tmp.11141789'; open my $fh, '>>', $filename or die "$! opening $filename"; printf "1) fileno = %s\n", $fh->fileno // 'undefined'; close $fh or die "$! closing $filename"; printf "2) fileno = %s\n", $fh->fileno // 'undefined'; close $fh or die "$! closing $filename"; printf "3) fileno = %s\n", $fh->fileno // 'undefined'; close $fh or die "$! closing $filename";
Outputs:
1) fileno = 3 2) fileno = undefined Bad file descriptor closing tmp.11141789 at ./pm11141789.pl line 12.
This was run on ArchLinux, I don't have a Strawberry Perl system to test on.
In reply to Re: Bad file descriptor when trying to close file handle
by tybalt89
in thread Bad file descriptor when trying to close file handle
by fireblood
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |