No, unfortunately I can't make select work. I don't know why. I use sysread() and syswrite().
#!/usr/bin/perl
use strict;
use warnings;
my $in = '/bootlog.txt';
my $out = 'bootlog2.txt';
-e $in or die "Input file doesn't exist - $in";
-f $in or die "Input file is not a plain file - $in";
my $size = -s $in;
$size > 0 or die "Input file is empty - $in";
my $BUFF;
open 0, "< $in" or die "Can't open input file - $in";
binmode 0;
sysread(0, $BUFF, $size) == $size or die "Can't read file - $in";
close 0 or die "Can't close input file - $in";
open 0, "> $out" or die "Can't create file - $out";
binmode 0;
syswrite(0, $BUFF, length($BUFF), 0);
close 0 or die "Can't close output file - $out";
print( (-s $out) . " bytes written.\n");
print( (-s $out == $size ? 'SUCCESS' : 'FAILED') . "\n\n");
exit;
|