# Using Gradle for Perl projects

**URL:** <https://discuss.gradle.org/t/using-gradle-for-perl-projects/12795>\
**Category:** Help/Discuss\
**Created:** [November 17, 2015, 8:30am UTC](https://discuss.gradle.org/t/using-gradle-for-perl-projects/12795 "2015-11-17T08:30:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![benignbala](https://avatars.discourse-cdn.com/v4/letter/b/ea5d25/32.png) [@benignbala](https://discuss.gradle.org/u/benignbala)\
**Post date:** [November 17, 2015, 8:30am UTC](https://discuss.gradle.org/t/using-gradle-for-perl-projects/12795/1 "2015-11-17T08:30:24Z")

</div>

In dependencies, we should allow dependencies of type ‘ **perl** ’ that will fetch Perl modules from CPAN for projects that use Perl.

Additionally, to support the above, we should consider adding a **cpan()** as a _repository_ method that will look up the Perl CPAN repositories for dependecies of type perl and download them.

---

<div class="post-metadata">

**Author:** ![ams\_tschoening](https://avatars.discourse-cdn.com/v4/letter/a/838e76/32.png) [@ams\_tschoening](https://discuss.gradle.org/u/ams_tschoening)\
**Post date:** [September 14, 2018, 9:51am UTC](https://discuss.gradle.org/t/using-gradle-for-perl-projects/12795/2 "2018-09-14T09:51:50Z")

</div>

Are there any news or plans on this topic? I’m new to Gradle, but need to manage Java- and Perl-projects as well, so came across the same question.

For my use-case it would be enough already if one could simply describe dependencies for different purposes, like with `api` vs. `implementation` vs. `testImplementation` for plugin `java-library`, and let either some frontend for `CPAN` or some package manager like `APT` actually resolve and download all those dependencies. that’s what I’m doing currently, preferring `APT` with `CPAN` as fallback. Not sure if letting `CPAN`/`APT` handle downloads etc. makes anything easier, though. 🙂

At least some of my Perl-projects support automatic tests based on `Test::Class`, `Test::Most` etc., so I would expect Gradle being able to run those as part of some build, collect results, abort the build etc. Pretty much what it’s doing with Java already again.

Any ideas/hints on where one would need to look at if one would plan to implement such things on its own? I guess I would need to start at the concept of plugins like `java-library`? Anything else obviously of interest? Or is it already known that Perl can not be supported at all?

Thanks for your input!
