diff --git a/src/mod/languages/mod_perl/compiler.opts b/src/mod/languages/mod_perl/compiler.opts
new file mode 100644
index 0000000000..e5f81c4039
--- /dev/null
+++ b/src/mod/languages/mod_perl/compiler.opts
@@ -0,0 +1 @@
+/IC:\perl\lib\CORE
\ No newline at end of file
diff --git a/src/mod/languages/mod_perl/compiler.opts.in b/src/mod/languages/mod_perl/compiler.opts.in
new file mode 100644
index 0000000000..61b705b080
--- /dev/null
+++ b/src/mod/languages/mod_perl/compiler.opts.in
@@ -0,0 +1 @@
+/I@PERL_INCLUDE@
\ No newline at end of file
diff --git a/src/mod/languages/mod_perl/fs_perl.vcproj b/src/mod/languages/mod_perl/fs_perl.vcproj
new file mode 100644
index 0000000000..ed6b53a6a5
--- /dev/null
+++ b/src/mod/languages/mod_perl/fs_perl.vcproj
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mod/languages/mod_perl/perlibs.h b/src/mod/languages/mod_perl/perlibs.h
new file mode 100644
index 0000000000..2460b3cba6
--- /dev/null
+++ b/src/mod/languages/mod_perl/perlibs.h
@@ -0,0 +1 @@
+#define PERL_LIB "C:\perl\lib\CORE\perl58.lib"
diff --git a/src/mod/languages/mod_perl/perlibs.h.in b/src/mod/languages/mod_perl/perlibs.h.in
new file mode 100644
index 0000000000..6aa25587d3
--- /dev/null
+++ b/src/mod/languages/mod_perl/perlibs.h.in
@@ -0,0 +1 @@
+#define PERL_LIB "@PERL_LIB@"
diff --git a/src/mod/languages/mod_perl/switch_swig.c b/src/mod/languages/mod_perl/switch_swig.c
index 2e37ab82fe..4c6ac66546 100644
--- a/src/mod/languages/mod_perl/switch_swig.c
+++ b/src/mod/languages/mod_perl/switch_swig.c
@@ -1,5 +1,9 @@
#include
+#ifdef _MSC_VER
+#include
+#pragma comment(lib, PERL_LIB)
+#endif
void fs_core_set_globals(void)
{
diff --git a/w32/vsnet/Freeswitch.sln b/w32/vsnet/Freeswitch.sln
index 993b816942..b07a8ad28f 100644
--- a/w32/vsnet/Freeswitch.sln
+++ b/w32/vsnet/Freeswitch.sln
@@ -162,6 +162,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_cepstral", "..\..\src\m
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fs_perl", "..\..\src\mod\languages\mod_perl\fs_perl.vcproj", "{B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -280,6 +282,10 @@ Global
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F}.Release|Win32.Build.0 = Release|Win32
{692F6330-4D87-4C82-81DF-40DB5892636E}.Debug|Win32.ActiveCfg = Debug|Win32
{692F6330-4D87-4C82-81DF-40DB5892636E}.Release|Win32.ActiveCfg = Release|Win32
+ {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Debug|Win32.Build.0 = Debug|Win32
+ {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Release|Win32.ActiveCfg = Release|Win32
+ {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -309,6 +315,7 @@ Global
{1A1FF289-4FD6-4285-A422-D31DD67A4723} = {CBD81696-EFB4-4D2F-8451-1B8DAA86155A}
{EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}
+ {B0C6CFF9-7DCD-4A21-8BA4-C2011E18DED8} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{692F6330-4D87-4C82-81DF-40DB5892636E} = {4CF6A6AC-07DE-4B9E-ABE1-7F98B64E0BB0}
EndGlobalSection
EndGlobal