use strict; use warnings; use Fcntl qw/ SEEK_CUR O_RDONLY LOCK_EX /; sub sys_verwenden {   print '-' x 30, "\n";   sysopen my $fh, "file.txt", O_RDONLY or die $!;   flock $fh, LOCK_EX or die $!;   sysread($fh, my $buf, 50);   my $pos = sysseek($fh, 0, SEEK_CUR);   print "Position: $pos\n";   print "Buffer:\n";   print $buf, "\n";   close $fh; } sub vermischt {   print '-' x 30, "\n";   sysopen my $fh, "file.txt", O_RDONLY or die $!;   flock $fh, LOCK_EX or die $!;   while (my $line = <$fh>) {      printf "%5s %s", sysseek($fh, 0, SEEK_CUR), $line;   }     close $fh; } sub ohne_sys {   print '-' x 30, "\n";   sysopen my $fh, "file.txt", O_RDONLY or die $!;   flock $fh, LOCK_EX or die $!;   while (my $line = <$fh>) {      printf "%5s %s", tell($fh), $line;   }     close $fh; } sys_verwenden(); vermischt(); ohne_sys();