The stuff that he put after the __END__ line gets read into the filehandle called DATA. So, what you want to do is open up /proc/pci yourself (since you won't have the data embedded in your script.)
Try putting this line before the while loop: open(DATA, '/proc/pci') or die "Can't open /proc/pci: $!";