libwww-perl user agent
libwww-perl, commonly abbreviated LWP, is a long-established HTTP client library for Perl. Its default user agent contains a libwww-perl token with a version. Because it has been a default in many simple scripts and scrapers for decades, the raw token is widely treated as a sign of automated, non-browser traffic.
What this means
libwww-perl (LWP) is one of the oldest and most widely used HTTP client toolkits for Perl. Its LWP::UserAgent class sets a default user agent that includes a libwww-perl product token and version.
Because LWP has been a go-to for quick scripts and scrapers for a very long time, the unmodified token has become a familiar marker of automated traffic in server logs. It is a programmatic client with no rendering engine and no human behind any individual request.
Why the raw token stands out
Well-behaved integrations usually set a descriptive custom user agent identifying the application and a contact. A request still carrying the default libwww-perl token suggests either an old, unmaintained script or a scraper that did not bother to customise it.
That said, the user agent is trivially changed. Sophisticated scrapers built on Perl will not show the libwww-perl token at all, so its absence proves nothing. Treat the raw token as a weak positive signal of unsophisticated automation.
- Default token: libwww-perl plus version
- Common in legacy scripts and simple scrapers
- Trivially overridden — absence does not rule out Perl
Allow, rate-limit, or block
If the traffic is your own Perl integration, give it a descriptive custom user agent and, where possible, authentication, so it is not confused with anonymous scraping.
For unwanted automation showing the raw token, rate-limiting and behavioural checks are more durable than blocking the exact string, because the string is so easily changed. Never use the user agent as your only access control.
How it appears in analytics and logs
A user agent containing a libwww-perl token is a Perl LWP-based script making HTTP requests — automation, not a human visit. Seeing the raw default often indicates unsophisticated scraping or an old integration that never set a custom user agent.
Diagnostic use case
Recognise legacy Perl scripting and scraping traffic by its default libwww-perl token, while remembering the token is trivially overridden by anyone who wants to hide it.
What WebmasterID can help detect
WebmasterID classifies libwww-perl traffic as scripted automation rather than human visits, so legacy Perl scraping and integrations appear in bot-intelligence instead of inflating human metrics.
Common mistakes
- Assuming all Perl-based traffic shows the libwww-perl token.
- Counting libwww-perl requests as human page views.
- Blocking only the exact token, which scrapers easily change.
Privacy and accuracy notes
libwww-perl is identified from the user-agent token alone — a script, not a person. WebmasterID records such requests as automation, separate from human analytics, with no visitor identity attached.
Related pages
- curl, wget and script user agents
Command-line and library HTTP clients send a default user agent that names the tool: curl/x.y, Wget, python-requests, Go-http-client, and similar. These are scripts, not browsers, and seeing them is normal. This page explains the patterns and how to treat them without over- or under-reacting.
- Wget user agent
GNU Wget is a non-interactive command-line tool for downloading files and mirroring sites over HTTP, HTTPS, and FTP. Its default user agent contains a Wget product token with a version. The raw token is a long-standing signal of scripted downloading, though it is trivially changed with a flag.
- Empty or missing user-agent strings
The User-Agent header is not mandatory, so some requests arrive with an empty string or no header at all. This usually points to a script, a misconfigured client, or an old device — not a specific identity. This page explains what a missing UA means and how to handle it without over-blocking.
- Bot intelligence
Categorise legacy scripting libraries separately from human browsers.
Sources and verification notes
- libwww-perl (LWP) — CPAN distributionLWP::UserAgent sets a default libwww-perl user-agent token.
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.