mirror of
https://github.com/correl/mage.git
synced 2024-11-18 11:09:31 +00:00
57 lines
1.1 KiB
Perl
Executable file
57 lines
1.1 KiB
Perl
Executable file
#!/usr/bin/perl -w
|
|
|
|
#author: North
|
|
|
|
use strict;
|
|
|
|
|
|
my $dataFile = "mtg-cards-data.txt";
|
|
my $setsFile = "mtg-sets-data.txt";
|
|
|
|
my %sets;
|
|
|
|
my @setCards;
|
|
|
|
# gets the set name
|
|
my $setName = $ARGV[0];
|
|
if(!$setName) {
|
|
print 'Enter a set name: ';
|
|
$setName = <STDIN>;
|
|
chomp $setName;
|
|
}
|
|
|
|
|
|
open (DATA, $dataFile) || die "can't open $dataFile";
|
|
while(my $line = <DATA>) {
|
|
my @data = split('\\|', $line);
|
|
if ($data[1] eq $setName) {
|
|
push(@setCards, \@data);
|
|
}
|
|
}
|
|
close(DATA);
|
|
|
|
open (DATA, $setsFile) || die "can't open $setsFile";
|
|
while(my $line = <DATA>) {
|
|
my @data = split('\\|', $line);
|
|
$sets{$data[0]}= $data[1];
|
|
}
|
|
close(DATA);
|
|
|
|
|
|
sub cardSort {
|
|
if (@{$a}[2] < @{$b}[2]) { return -1; }
|
|
elsif (@{$a}[2] == @{$b}[2]) { return 0;}
|
|
elsif (@{$a}[2] > @{$b}[2]) { return 1; }
|
|
}
|
|
|
|
|
|
my $toPrint = '';
|
|
foreach my $card (sort cardSort @setCards) {
|
|
if ($toPrint) {
|
|
$toPrint .= "\n";
|
|
}
|
|
$toPrint .= "@{$card}[2]|@{$card}[0]";
|
|
}
|
|
open CARD, "> " . lc($sets{$setName}) . ".txt";
|
|
print CARD $toPrint;
|
|
close CARD;
|