- There is nothing per se wrong with the kluge.
- You don't post your code which is broken (despite the SUGGESTION!)
- You are trying to parse totally invalid Javascript. Save it as test.html and click on the little yellow ! mark in the bottom left of your IE to read about the errors.
- I see no possible way you could get the output you describe from the input shown. There is no newline embedded between the mysite.com url and the //-->. If you posted the parsing code as asked then I would hazard the suggestion we might be able to suggest why/where/how it is broken so it could be fixed!
This will parse your totally invalid input for links (making the rash and UNSPECIFIED BY YOU assumption that that is the task). It definitely falls in the category of EXTREME KLUDGINESS.
while(<DATA>) {
m!(https?://[^"'>\s]+)! or next;
$url = $1;
$url =~ s/--$//;
print "$url\n";
}
__DATA__
<html>
<head>
<script language="JavaScript">
<!--
function load(){
document.write("<img src='photo.jpg' width='1' height='1'>");
window.location="http://mysite.com/stuff/file.htm";}//-->
window.location="<!--http://www.login.com-->";}//-->
</script>
</head>
<body onload=load()>
<img src="http://mysite.com//photo.jpg" width="1" height="1"><br>
</BODY>
</HTML>
|