I think im also confused about the interaction between the browser, squid and external authenticators in spite of reading Ch12 several times. it says "..Ch6 lists tokens you can pass from squid -> helper and "external ACL helper interface allows additional information from helper to squid ...as keyword=value pairs. so browser ->request to squid the %LOGIN in the external helper examples refers to an authenticated user obtained by another (squid - exclusively squid???) process (eg NCSA/PAM etc) request then goes : squid-> helper . the helper can do what it likes and returns a string to squid. if the string is "ERR" then squid will deny access. If it is "OK" then squid allows access to the cache . In addition the user=xxx can also be passed back from the helper to squid. Can squid then use this user as the basis for an ACL ? so why did my perl example that outputs a file to the disk not write the file, which it did when executed from the CL. How do i see the data that is going to and from the helper and verify its executing the helper as i expect.? Sorry to have so many questions. Is there anything that goes into any more detail than "Squid - the definitive guide?"