Skip to Content
Author's profile photo Nils Knieling

Deploying a Perl Application to Cloud Foundry in SAP Cloud Platform

I’m a big Perl fan. My first test application in the Cloud Foundry in the SAP Cloud Platform was thus a Perl application. In this article, I show you how easy Cloud Foundry in the SAP Cloud Platform is and how fast you can publish applications on the Internet.

All you need is a free trial account and 10 minutes time.

Cloud Foundry 101

Cloud Foundry, which is fully supported on SAP Cloud Platform, is a platform as a service (PaaS). This requires a slightly different mindset than the one used for managing a full server. In Cloud Foundry you have aplications which run with the support of buildpacks and services which your code can use. In the case of Cloud Foundry, you manage the platform with a command line tool called cf.

CF Installation

Download and install Cloud Foundry Command Line Interface (cf CLI) for your operating system:


Open the command line and type: cf login

The API endpoint can be found in the Cloud Cockpit.

nils@imac5k ~ $ cf login

API endpoint>

Email> nils.knieling@█████


Targeted org S0009028968trial_trial

Targeted space dev

API endpoint: (API version: 2.92.0)
User:           nils.knieling@█████
Org:            S0009028968trial_trial
Space:          dev



Next we need a buildpack. We use Tobias Oetiker’s Generic Build Pack for Cloud Foundry:

Type git clone and go to the folder with the sample application perl-dancer2.

nils@imac5k $ git clone

nils@imac5k $ cd sourcey-buildpack/example/perl-dancer2/



Type cf push. It takes something until everything has been built.

nils@imac5k perl-dancer2 $ cf push
Using manifest file /Users/nils/Projekte/github/sourcey-buildpack/example/perl-dancer2/manifest.yml

Creating app example-perl-dancer2 in org S0009028968trial_trial / space dev as nils.knieling@█████...

Creating route

Binding to example-perl-dancer2...

Uploading example-perl-dancer2...
Uploading app files from: /Users/nils/Projekte/github/sourcey-buildpack/example/perl-dancer2
Uploading 5K, 8 files
Done uploading

Starting app example-perl-dancer2 in org S0009028968trial_trial / space dev as nils.knieling@█████...
Creating container
Successfully created container
Downloading app package...
Downloaded app package (4.7K)
       -  WORK_DIR=/home/vcap/tmp/sourcey.51
       -  BUILD_DIR=/tmp/app
       -  APP_DIR=app
       -  PREFIX=/home/vcap/app/sourcey
       -  CACHE_DIR=/tmp/cache/final
       Downloading Perl 5.24.0
       Configuring Perl 5.24.0
       Building Perl 5.24.0
       Installing Perl 5.24.0
       Downloading cpanminus
       Successfully installed Dancer2-0.205001
       89 distributions installed
       Moving binaries to /tmp/app ready for uploading
       Saveing a copy of your binaries to /tmp/cache/final for future use
Uploading droplet, build artifacts cache...
Exit status 0
Staging complete
Uploading build artifacts cache...
Uploading droplet...
Uploaded build artifacts cache (14.8M)
Uploaded droplet (14.8M)
Uploading complete
Stopping instance cf03acbd-2428-499f-8699-b1e817d960c3
Destroying container
Successfully destroyed container

1 of 1 instances running

App started


App example-perl-dancer2 was started using this command `PATH=$HOME/sourcey/bin:$PATH ./`

Showing health and status for app example-perl-dancer2 in org S0009028968trial_trial / space dev as nils.knieling@█████...

requested state: started
instances: 1/1
usage: 256M x 1 instances
last uploaded: Sat Sep 2 17:24:37 UTC 2017
stack: cflinuxfs2

     state     since                    cpu    memory      disk      details
#0   running   2017-09-02 07:30:00 PM   0.0%   0 of 256M   0 of 1G


Done ?

Finished. The application can be opened. The URL can be found in the output of cf push or in the Cloud Cockpit.


And one more thing…

How about SSH access? No problem.

Type cf enable-ssh example-perl-dancer2 and cf ssh example-perl-dancer2.


nils@imac5k perl-dancer2 $ cf enable-ssh example-perl-dancer2
Enabling ssh support for 'example-perl-dancer2'...

nils@imac5k perl-dancer2 $ cf ssh example-perl-dancer2

vcap@384c2d4a-60dc-417c-7fa5-f257:~$ uname -a
Linux 384c2d4a-60dc-417c-7fa5-f257 4.4.0-83-generic #106~14.04.1-Ubuntu SMP Mon Jun 26 18:10:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

vcap@384c2d4a-60dc-417c-7fa5-f257:~$ /home/vcap/app/sourcey/bin/perl -v

This is perl 5, version 24, subversion 0 (v5.24.0) built for x86_64-linux-thread-multi

Copyright 1987-2016, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at, the Perl Home Page.


I wish you a lot of fun with Cloud Foundry in SAP Cloud Platform ?

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Harald Wilde
      Harald Wilde

      Author's profile photo Nils Knieling
      Nils Knieling
      Blog Post Author

      I'm going for a character set error. Windows is not UNIX.

      Author's profile photo Harald Wilde
      Harald Wilde

      Well... it should be made plain in the beginning that this is an example only for os linux/unix as precondition.

      Author's profile photo Nils Knieling
      Nils Knieling
      Blog Post Author

      Yes would make sense, but the operating system does not matter. You should ensure that the character set is correct.