Created
February 8, 2017 20:33
-
-
Save thecoshman/b89718c8ef4f6164015aaab9614ab6ef to your computer and use it in GitHub Desktop.
A program I wrote in may 2013... I've no idea what I wanted it to do...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
use warnings; | |
use strict; | |
sub load_file_data{ | |
my $folder = 'unzipped'; | |
opendir FOLDER, $folder; | |
my @files; | |
while (readdir FOLDER){ | |
next if /^\.\.?$/; | |
push @files, $folder . "/" . $_; | |
} | |
@files = map{ $_->[0] } sort { $a->[1] <=> $b->[1]} map { [$_, /\.(\d+)$/, $_]} @files; | |
return @files; | |
} | |
sub menu{ | |
} | |
my $promt = ":"; | |
my @files = load_file_data(); | |
while(1) | |
{ | |
print "$promt"; | |
chomp (my $input = <>); | |
if($input eq "ls"){ | |
local $, = "\n"; | |
print @files; | |
my $count = scalar @files; | |
print "\n $count files\n"; | |
next; | |
} | |
if($input =~ /^\/.*\//){ | |
my ($pattern) = $input =~ /^\/(.*)\//; | |
print "applying regex... matching '$pattern'\n"; | |
for my $file (@files){ | |
my $matches_found = 0;; | |
print "=][= Checking $file =][=\n"; | |
open my $file_handle, '<', $file or die "Can't open $file\n"; | |
while(<$file_handle>){ | |
chomp; | |
print "$_\n"if $_ =~ /$pattern/; | |
} | |
close $file_handle; | |
} | |
next; | |
} | |
if($input =~ /^keep \/.*\//){ | |
my ($pattern) = $input =~ /^keep \/(.*)\//; | |
print "applying regex... matching '$pattern'\n"; | |
my @updated_file_list; | |
FILE: for my $file (@files){ | |
my $matches_found = 0;; | |
print "=][= Checking $file =][=\n"; | |
open my $file_handle, '<', $file or die "Can't open $file\n"; | |
while(<$file_handle>){ | |
chomp; | |
push @updated_file_list, $file and next FILE if $_ =~ /$pattern/; | |
} | |
close $file_handle; | |
} | |
undef @files; | |
@files = @updated_file_list; | |
next; | |
} | |
if($input =~ /^remove \/.*\//){ | |
my ($pattern) = $input =~ /^remove \/(.*)\//; | |
print "applying regex... matching '$pattern'\n"; | |
my @updated_file_list; | |
FILE: for my $file (@files){ | |
my $matches_found = 0;; | |
print "=][= Checking $file =][=\n"; | |
open my $file_handle, '<', $file or die "Can't open $file\n"; | |
while(<$file_handle>){ | |
chomp; | |
next FILE if $_ =~ /$pattern/; | |
} | |
close $file_handle; | |
push @updated_file_list, $file | |
} | |
undef @files; | |
@files = @updated_file_list; | |
next; | |
} | |
if($input =~ /win/){ | |
for my $file (@files){ | |
my $matches_found = 0;; | |
print "=][= Checking $file =][=\n"; | |
open my $file_handle, '<', $file or die "Can't open $file\n"; | |
while(<$file_handle>){ | |
print "$_\n"if $_ =~ /2012\.02\.22/; | |
} | |
close $file_handle; | |
} | |
next; | |
} | |
if($input eq "q"){ | |
last; | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment