#!/usr/bin/perl -l use strict; use warnings; # List executables installed by Perl core # List CPAN: https://perlmonks.org/?node_id=1217338 (my $bin = $^X) =~ s/.perl$//; chomp(my @perl = `ls -l $bin`); s/.*\s(\S+)$/$1/ for @perl; # filename shift @perl; chomp($_ = join "", `perldoc -uT perllocal`); my @temp = (/EXE_FILES:\s([^>]+)/sg); my @cpan = (); for (@temp) { my @x = split /\s+/; # filename(s) s/^\S+\/// for @x; # remove path push @cpan, @x; } my $perl = { map {$_=>1} @perl }; my $cpan = { map {$_=>1} @cpan }; my $core = {}; for (keys %$perl) { $core->{$_}++ unless $cpan->{$_} } print $_ for sort keys %$core;