tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,18 @@
|
|||
@ARGV == 1 or die "Please provide exactly one source file as an argument.\n";
|
||||
open my $source, '<', $ARGV[0] or die "I couldn't open \"$ARGV[0]\" for reading. ($!.)\n";
|
||||
my @rules;
|
||||
while (<$source>)
|
||||
{/\A#/ and next;
|
||||
my @a = /(.*?)\s+->\s+(\.?)(.*)/ or die "Syntax error: $_";
|
||||
push @rules, \@a;}
|
||||
close $source;
|
||||
|
||||
my $input = do {local $/; <STDIN>;};
|
||||
|
||||
OUTER:
|
||||
{foreach (@rules)
|
||||
{my ($from, $terminating, $to) = @$_;
|
||||
$input =~ s/\Q$from\E/$to/
|
||||
and ($terminating ? last OUTER : redo OUTER);}}
|
||||
|
||||
print $input;
|
||||
Loading…
Add table
Add a link
Reference in a new issue