diff options
Diffstat (limited to 'url')
| -rwxr-xr-x | url | 26 | 
1 files changed, 26 insertions, 0 deletions
| @@ -0,0 +1,26 @@ +#!/usr/bin/env perl + +use feature 'say'; +use URL::Encode qw(:all); +use String::ShellQuote; + +my %commands = ( +    encode => sub { say url_encode(shift) }, +    decode => sub { say url_decode(shift) }, +); + +die "Usage: $0 <${\join '|',keys %commands}> ARGS" unless @ARGV >= 1; + +my $command = shift; +die "No such command $command" unless defined $commands{$command}; + +if (@ARGV) { +    for (@ARGV) { +        $commands{$command}->($_); +    } +} else { +    while (<STDIN>) { +        chomp; +        $commands{$command}->($_); +    } +} | 
