=================================================================== RCS file: /cvs/openbsd/OpenBSDTorrents/lib/OpenBSDTorrents.pm,v retrieving revision 1.11 retrieving revision 1.14 diff -u -r1.11 -r1.14 --- openbsd/OpenBSDTorrents/lib/OpenBSDTorrents.pm 2010/03/03 21:15:20 1.11 +++ openbsd/OpenBSDTorrents/lib/OpenBSDTorrents.pm 2010/05/19 23:19:43 1.14 @@ -1,5 +1,5 @@ package OpenBSDTorrents; -#$RedRiver: OpenBSDTorrents.pm,v 1.10 2007/11/02 02:36:01 andrew Exp $ +#$RedRiver: OpenBSDTorrents.pm,v 1.13 2010/03/22 20:13:53 andrew Exp $ use 5.008005; use strict; use warnings; @@ -13,6 +13,7 @@ our @EXPORT = qw( $OBT $INSTALL_ISO_REGEX + $SONG_REGEX &Name_Torrent &Get_Files_and_Dirs &justme @@ -20,7 +21,8 @@ my $config_file = '/etc/OpenBSDTorrents.conf'; our $OBT = Config(); -our $INSTALL_ISO_REGEX = qr/install\d+\.iso/; +our $INSTALL_ISO_REGEX = qr/install\d+\.iso/xms; +our $SONG_REGEX = qr/^song.*\.([^\.]+)$/xms; sub Config { @@ -61,6 +63,12 @@ sub Get_Files_and_Dirs { my $basedir = shift; + + if ( -f $basedir ) { + $basedir =~ s{^.*/}{}xms; + return [], [ $basedir ]; + } + opendir DIR, $basedir or die "Couldn't opendir $basedir: $!"; my @contents = sort grep { ! /^\.\.$/ } grep { ! /^\.$/ } readdir DIR; closedir DIR;