use strict; use warnings; use Fcntl qw{:DEFAULT}; use Data::Dump qw{dump}; sysopen my $FILE, 'file', O_RDONLY or die $!; my ($temp, $buf); while(1) { my $read_cnt = sysread ($FILE, $temp, 1024); $buf .= $temp; last unless $read_cnt; } print dump($buf);