use v5.010; use strict; use warnings; # Reading in file in raw format. local $/; open F, "<:raw", "input.pdf" or die $!; my $raw_content = ; my $nr_of_cos_objects = 10; my @counter = (1..$nr_of_cos_objects); my $position = 0; for my $number (@counter) { my $result = $raw_content=~qr/^${number} 0 obj/aa; if ($result) { say "Object item [$number] ('${number} 0 obj') starts at position [$-[0]]"; } else { say "Object item [$number] ('${number} 0 obj') start position not found"; } if ($result) { say "Object item [$number] ('${number} 0 obj') ends at position [$+[0]]\n"; } else { say "Object item [$number] ('${number} 0 obj') end position not found\n"; } } say "End test program. Bye...";