Why docker layer is not cached?

I have Dockerfile which have next command:

RUN source $PERLBREW_ROOT/etc/bashrc && perlbrew install $PERL_VERSION

Here layers start to rebuild:

Step 13/27 : RUN source $PERLBREW_ROOT/etc/bashrc && perlbrew install $PERL_VERSION
 ---> Running in 3b76e5d4ae0a

Fetching perl 5.24.1 as /opt/perlbrew/dists/perl-5.24.1.tar.bz2
Download http://www.cpan.org/authors/id/S/SH/SHAY/perl-5.24.1.tar.bz2 to /opt/perlbrew/dists/perl-5.24.1.tar.bz2
Installing /opt/perlbrew/build/perl-5.24.1/perl-5.24.1 into /opt/perlbrew/perls/perl-5.24.1

Why cached layer is not used for this command?

Source: StackOverflow