filename BNResult "J:\Temp\BN2010.lst" ; libname SHRUGLib 'H:\RCP\RCP_Data\FaheTJ\Miscellaneous\SHRUG' ; data _null_ ; BNURL = 'http://www.sportstats.ca/display-results.php?lang=eng&racecode=46285&lboard=Overall&page=0&sizeofpage=999&sortby=place&limit=2000' ; file BNResult lrecl = 64000 ; do while ( not EOF ) ; infile HowFast url debug end = eof filevar = BNURL lrecl = 64000 ; input ; put _infile_ ; end; ; eof = 0 /* reset flag for next iteration */ ; run; data SHRUGLib.BNTimes ( keep = Name PlaceNum Clock Chip Category CatPlace First Split GenPlace ) ; infile BNResult lrecl = 64000 truncover ; length PlaceStr $3 Name $24 Hometown $24 BibStr $3 ClockStr $9 ChipStr $9 Category $15 CatPlace $8 GenPlace $8 ; format Clock Chip First Second Time10.1 Split Time8. ; input LongStr $32000. ; /* this line has results on it */ RightRec = find ( LongStr, "' ) ; PlaceNum = input ( PlaceStr, 3. ) ; Name = scan ( ReString, 8, '<>' ) ; HomeTown = scan ( ReString, 14, '<>' ) ; BibStr = scan ( ReString, 26, '<>' ) ; BibNum = input ( BibStr, 3. ) ; ClockStr = scan ( ReString, 29, '<>' ) ; Clock = input ( ClockStr, Time9. ) ; ChipStr = scan ( ReString, 32, '<>' ) ; Chip = input ( ChipStr, Time9. ) ; Category = scan ( ReString, 39, '<>' ) ; CatPlace = scan ( ReString, 44, '<>' ) ; GenPlace = scan ( ReString, 49, '<>' ) ; FirstStr = scan ( ReString, 53, '<>' ) ; First = input ( FirstStr, Time9. ) ; SecondStr = scan ( ReString, 56, '<>' ) ; Second = input ( SecondStr, Time9. ) ; Split = Second - First ; output ; end; run;