diff --git a/www/p5-HTML-Tidy/Makefile b/www/p5-HTML-Tidy/Makefile
new file mode 100644
index 00000000000..c3268e45e13
--- /dev/null
+++ b/www/p5-HTML-Tidy/Makefile
@@ -0,0 +1,22 @@
+# $OpenBSD: Makefile,v 1.1.1.1 2008/02/16 22:55:26 simon Exp $
+
+COMMENT= (X)HTML validation in a Perl object
+SHARED_ONLY= Yes
+
+DISTNAME= HTML-Tidy-1.08
+CATEGORIES= www
+MODULES= cpan
+
+MAINTAINER= Simon Bertrang
+
+# Perl
+PERMIT_PACKAGE_CDROM= Yes
+PERMIT_PACKAGE_FTP= Yes
+PERMIT_DISTFILES_CDROM= Yes
+PERMIT_DISTFILES_FTP= Yes
+
+LIB_DEPENDS= tidy::www/tidy
+
+CONFIGURE_ENV+= LOCALBASE=${LOCALBASE}
+
+.include
diff --git a/www/p5-HTML-Tidy/distinfo b/www/p5-HTML-Tidy/distinfo
new file mode 100644
index 00000000000..72f48e9302a
--- /dev/null
+++ b/www/p5-HTML-Tidy/distinfo
@@ -0,0 +1,5 @@
+MD5 (HTML-Tidy-1.08.tar.gz) = rfg8+m3Pud4Sg/dxrZwuDQ==
+RMD160 (HTML-Tidy-1.08.tar.gz) = 62ZTgm63/3VgrtZNXx0W2m7uEnk=
+SHA1 (HTML-Tidy-1.08.tar.gz) = eRKipznG4s+2tAn7MLUEfhgoXa0=
+SHA256 (HTML-Tidy-1.08.tar.gz) = dTewbZIFXGPp4Paii1Jny+zPdmmrv4nUBpw2H+Wk96g=
+SIZE (HTML-Tidy-1.08.tar.gz) = 26399
diff --git a/www/p5-HTML-Tidy/patches/patch-Makefile_PL b/www/p5-HTML-Tidy/patches/patch-Makefile_PL
new file mode 100644
index 00000000000..6612073bee9
--- /dev/null
+++ b/www/p5-HTML-Tidy/patches/patch-Makefile_PL
@@ -0,0 +1,21 @@
+$OpenBSD: patch-Makefile_PL,v 1.1.1.1 2008/02/16 22:55:26 simon Exp $
+--- Makefile.PL.orig Sat Nov 11 05:06:24 2006
++++ Makefile.PL Mon Aug 20 12:21:23 2007
+@@ -8,7 +8,7 @@ use warnings;
+ use ExtUtils::MakeMaker;
+ use ExtUtils::Liblist;
+
+-my @vars = ExtUtils::Liblist->ext( '-L/sw/lib -ltidy', 0, 1 );
++my @vars = ExtUtils::Liblist->ext( "-L$ENV{LOCALBASE}/lib -ltidy", 0, 1 );
+ my $libs = $vars[2];
+
+ if ( !$libs ) {
+@@ -55,7 +55,7 @@ WriteMakefile(
+
+ LIBS => [$libs],
+ NEEDS_LINKING => 1,
+- INC => '-I. -I/usr/include/tidy -I/usr/local/include/tidy -I/sw/include/tidy',
++ INC => "-I. -I$ENV{LOCALBASE}/include/tidy",
+
+ EXE_FILES => [qw(bin/webtidy)],
+ dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
diff --git a/www/p5-HTML-Tidy/pkg/DESCR b/www/p5-HTML-Tidy/pkg/DESCR
new file mode 100644
index 00000000000..306725a6b76
--- /dev/null
+++ b/www/p5-HTML-Tidy/pkg/DESCR
@@ -0,0 +1,3 @@
+HTML::Tidy is an HTML checker in a handy dandy object. It's meant as a
+replacement for HTML::Lint. If you're currently an HTML::Lint user
+looking to migrate, see the manual section "Converting from HTML::Lint".
diff --git a/www/p5-HTML-Tidy/pkg/PLIST b/www/p5-HTML-Tidy/pkg/PLIST
new file mode 100644
index 00000000000..ee2a86d1941
--- /dev/null
+++ b/www/p5-HTML-Tidy/pkg/PLIST
@@ -0,0 +1,14 @@
+@comment $OpenBSD: PLIST,v 1.1.1.1 2008/02/16 22:55:26 simon Exp $
+bin/webtidy
+${P5ARCH}/
+${P5ARCH}/HTML/
+${P5ARCH}/HTML/Tidy/
+${P5ARCH}/HTML/Tidy.pm
+${P5ARCH}/HTML/Tidy/Message.pm
+${P5ARCH}/auto/
+${P5ARCH}/auto/HTML/
+${P5ARCH}/auto/HTML/Tidy/
+${P5ARCH}/auto/HTML/Tidy/Tidy.bs
+${P5ARCH}/auto/HTML/Tidy/Tidy.so
+@man man/man3p/HTML::Tidy.3p
+@man man/man3p/HTML::Tidy::Message.3p