Index: subversion/bindings/swig/swigutil_pl.c
===================================================================
--- subversion/bindings/swig/swigutil_pl.c	(revision 8070)
+++ subversion/bindings/swig/swigutil_pl.c	(working copy)
@@ -24,6 +24,7 @@
 
 #include <apr.h>
 #include <apr_general.h>
+#include <apr_portable.h>
 
 #include "svn_pools.h"
 #include "svn_opt.h"
@@ -1005,10 +1006,12 @@
                     APR_CREATE | APR_READ | APR_WRITE,
                     APR_OS_DEFAULT,
                     pool);
+    } else if (SvROK(file) && SvTYPE(SvRV(file)) == SVt_PVGV) {
+        apr_status_t status;
+        apr_os_file_t osfile = PerlIO_fileno(IoIFP(sv_2io(file)));
+        status = apr_os_file_put (&apr_file, &osfile, O_CREAT | O_WRONLY, pool);
+        if (status)
+            return NULL;
     }
-    else {
-	croak ("apr_file_t conversion from non-string not supported yet");
-    }
-
     return apr_file;
 }


