| Next | System Programming in Perl | 17 |
sub parse {
my @words = grep $_ =~ /\S/, split /( \s+ | < | >> | > )/x, $_[0];
my %d;
$d{program} = shift @words;
while (@words) {
local $_ = shift @words;
if ($_ eq '<’) {
$d{stdin} = shift @words;
} elsif ($_ eq '>' || $_ eq '>>') {
$d{stdout} = shift @words;
$d{appendmode} = $_;
} else {
push @{$d{args}}, $_;
}
}
return %d;
}
| Next | ![]() |
17 |