in reply to how to deal with 20 commands
use strict; use warnings; my @CMDS = ( { regex => qr/^cp\s+(\S+)\s+(\S+)/, code => \&do_cp }, { regex => qr/^mv\s+(\S+)\s+(\S+)/, code => \&do_mv }, ); my $input_string = <STDIN>; foreach my $cmd ( @CMDS ){ my @match = ($input_string =~ /$cmd->{regex}/) or next; $cmd->{code}( @match ); } sub do_cp { my $src = shift; my $dest = shift; warn "cp $src $dest"; } sub do_mv { my $src = shift; my $dest = shift; warn "mv $src $dest"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: how to deal with 20 commands
by bahadur (Sexton) on May 23, 2005 at 02:45 UTC | |
by Zaxo (Archbishop) on May 23, 2005 at 02:54 UTC | |
by gaal (Parson) on May 23, 2005 at 04:32 UTC | |
by thor (Priest) on May 23, 2005 at 11:22 UTC | |
by gaal (Parson) on May 23, 2005 at 18:05 UTC | |
| |
by ivancho (Hermit) on May 23, 2005 at 05:06 UTC |