diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index e9334d033eeb242dbd8882c9a75dddb381d4a366..c7c8fa58c33e1ea862e567a0dbb72d31704ffe3b 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -1,5 +1,5 @@
 # Makefile for PL/Perl
-# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.23 2005/07/06 22:33:39 momjian Exp $
+# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.24 2005/07/06 22:44:49 momjian Exp $
 
 subdir = src/pl/plperl
 top_builddir = ../../..
diff --git a/src/pl/plperl/expected/plperl_elog.out b/src/pl/plperl/expected/plperl_elog.out
new file mode 100644
index 0000000000000000000000000000000000000000..578c3e0b6c5d958a697dac4d16323f8621bdd4e8
--- /dev/null
+++ b/src/pl/plperl/expected/plperl_elog.out
@@ -0,0 +1,29 @@
+-- test warnings and errors from plperl
+create or replace function perl_elog(text) returns void language plperl as $$
+
+  my $msg = shift;
+  elog(NOTICE,$msg);
+
+$$;
+select perl_elog('explicit elog');
+NOTICE:  explicit elog
+ perl_elog 
+-----------
+ 
+(1 row)
+
+create or replace function perl_warn(text) returns void language plperl as $$
+
+  my $msg = shift;
+  warn($msg);
+
+$$;
+select perl_warn('implicit elog via warn');
+NOTICE:  implicit elog via warn at (eval 7) line 4.
+
+ perl_warn 
+-----------
+ 
+(1 row)
+
+
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index f05197ea4e99bf712d10b21c8a8841957ec1753e..b543963d192d3588bc355b0f12ad1932190ffc68 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -33,7 +33,7 @@
  *	  ENHANCEMENTS, OR MODIFICATIONS.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.80 2005/07/06 22:33:39 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.81 2005/07/06 22:44:49 momjian Exp $
  *
  **********************************************************************/
 
diff --git a/src/pl/plperl/sql/plperl_elog.sql b/src/pl/plperl/sql/plperl_elog.sql
new file mode 100644
index 0000000000000000000000000000000000000000..47cb742d3fb7ac715f67cdcc10b0981d3927ae1d
--- /dev/null
+++ b/src/pl/plperl/sql/plperl_elog.sql
@@ -0,0 +1,23 @@
+-- test warnings and errors from plperl
+
+create or replace function perl_elog(text) returns void language plperl as $$
+
+  my $msg = shift;
+  elog(NOTICE,$msg);
+
+$$;
+
+select perl_elog('explicit elog');
+
+create or replace function perl_warn(text) returns void language plperl as $$
+
+  my $msg = shift;
+  warn($msg);
+
+$$;
+
+select perl_warn('implicit elog via warn');
+
+
+
+