Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#!/usr/bin/env perl use Modern::Perl '2009'; # Enable Perl 5.10 features use strict; # Included so that perlcritic does not complain use warnings; # ditto use 5.010; # Only works under Perl 5.10 and later use autodie qw( :all ); # Make system functions either succeed or die use strictures 2; # Turn on strict and make most warnings fatal use English; # Determine the list of module names my @module_names; foreach my $inc_dir (@INC) { my @file_names; eval { @file_names = `find $inc_dir -name '*.pm' 2>/dev/null`; }; continue if ($EVAL_ERROR); foreach my $found (@file_names) { chomp $found; # remove the trailing newline $found =~ s{ # substitute... \A $inc_dir # ...a beginning dir name } {}xms; # replacing it with nothing $found =~ s{ # substitute... \.pm \z # ... an ending .pm } {}xms; # replacing it with nothing $found =~ s{ # substitute... / # ... each slash (/) } {::}gxms; # replacing it with :: $found =~ s{ # substitute... \A :: # ... a beginning :: } {}xms; # replacing it with nothing push @module_names, $found; # and add to the module names list } } # Finally, print a lexicographically sorted list of the module names for my $module_name ( sort @module_names ) { say $module_name; } # vim: set filetype=perl smartindent autoindent smarttab expandtab tabstop=4 softtabstop=4 shiftwidth=4 autoread
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)