use strict 'vars'; use warnings; use Fcntl; use POSIX; use POSIX qw(setsid); use POSIX qw(:errno_h :fcntl_h); File_Data(); sub File_Data { my $path = "fd_search.txt"; my $create = 0; my $write = 0; my @temp = ""; sysopen(my $FH,$path,O_RDONLY) or $create = 1; if (not $create) { @temp = ; if (not @temp) { $write = 1; close($FH); } } if ($write || $create) { if ($create) { sysopen(my $FH,$path,O_CREAT) or die "Could not create $path."; close($FH); } sysopen(my $FH,$path,O_WRONLY) or die "Could not open $path to write to."; print $FH "one two three"; close($FH); sysopen(my $FH,$path,O_RDONLY) or die "Could not open $path the 2nd time"; @temp = ; } close($FH); my $count = 0; print "\n"; print "($count)@temp\n"; print "\n"; }