Start killing Perl
This commit is contained in:
parent
780128f55f
commit
3aa6845583
7 changed files with 4 additions and 66 deletions
33
bin/+
33
bin/+
|
|
@ -1,33 +0,0 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use feature 'say';
|
||||
|
||||
sub do_calc {
|
||||
my ($op, $acc, @args) = @_;
|
||||
for my $arg (@args) {
|
||||
$acc += $arg if $op eq '+';
|
||||
$acc -= $arg if $op eq '-';
|
||||
$acc *= $arg if $op eq '*';
|
||||
$acc /= $arg if $op eq '/';
|
||||
}
|
||||
return $acc;
|
||||
}
|
||||
|
||||
sub calc {
|
||||
my $exp = shift;
|
||||
die 'oops!' unless $exp =~ m/\(([\+-\/\*])([0-9 \.-]+)\)/;
|
||||
return do_calc($1, split ' ', $2);
|
||||
}
|
||||
|
||||
sub pn {
|
||||
my $exp = shift;
|
||||
my $old = $exp;
|
||||
$exp =~ s/(\([\+-\/\*] [0-9 \.-]+\))/calc($1)/eg;
|
||||
die "oops! i'm stuck" if $exp eq $old;
|
||||
return $exp if $exp =~ m/^[0-9 \.-]+$/;
|
||||
return pn($exp);
|
||||
}
|
||||
|
||||
say pn($ARGV[0]);
|
||||
15
bin/F
15
bin/F
|
|
@ -1,15 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [[ $# -eq 1 ]]; then
|
||||
perl -C -Mutf8 -lanE "$1"
|
||||
|
||||
elif [[ $# -eq 2 ]]; then
|
||||
if [[ -f "$2" ]]; then
|
||||
perl -C -Mutf8 -lanE "$1" "$2"
|
||||
else
|
||||
perl -C -Mutf8 -F''"$1"'' -lanE "$2"
|
||||
fi
|
||||
|
||||
elif [[ $# -eq 3 && -f "$3" ]]; then
|
||||
perl -C -Mutf8 -F''"$1"'' -lanE "$2" "$3"
|
||||
fi
|
||||
3
bin/lne
3
bin/lne
|
|
@ -1,3 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
perl -C -Mutf8 -lnE "$@"
|
||||
3
bin/lpe
3
bin/lpe
|
|
@ -1,3 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
perl -C -Mutf8 -lpE "$@"
|
||||
3
bin/ne
3
bin/ne
|
|
@ -1,3 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
perl -C -Mutf8 -nE "$@"
|
||||
3
bin/pe
3
bin/pe
|
|
@ -1,3 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
perl -C -Mutf8 -pE "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue