#!/usr/bin/perl -w use strict; use Fcntl; sysopen(FH, "data.sg", O_RDONLY) or die "$!\n"; my $flen = (-s "data.sg"); for (my $i=0;$i<$flen;$i++){ sysread(FH,my $byte,1,$i); # do stuff to $byte }