Most likely whatever browser you use to "save the HTML" reformats the data it receives. Go look at what data exactly Web::Scraper sees, maybe using curl or wget or LWP::Simple::get, and work from that instead of data that was changed by the browser.
Also learn the difference between "HTML" and "CGI", and learn why it does not apply. It seems to me that by "HTML" you mean "data retrieved from locally saved files", and by "CGI" you mean "data retrieved online over HTTP". You should change the terms you use appropriately.