Lines Matching refs:prog
62 my ($prog, $in, $out) = ([], [], []);
81 process_test($prog, $prog_line, $in, $out);
84 $prog = [];
88 $prog = [ map { s/\\(.)/$1/g; $_ } split /(?<!\\)\s+/, $line ];
94 process_test($prog, $prog_line, $in, $out);
113 my ($prog, $prog_line, $in, $out) = @_;
115 return unless @$prog;
117 my $p = [ @$prog ];
120 my $result = exec_test($prog, $in);
189 return [ "su: $prog->[1]: $!\n" ];
227 my ($prog, $in) = @_;
229 my $needs_shell = (join('', @$prog) =~ /[][|<>"'`\$\*\?]/);
231 if ($prog->[0] eq "umask") {
232 umask oct $prog->[1];
234 } elsif ($prog->[0] eq "cd") {
235 if (!chdir $prog->[1]) {
236 return [ "chdir: $prog->[1]: $!\n" ];
240 } elsif ($prog->[0] eq "su") {
241 return su($prog->[1]);
242 } elsif ($prog->[0] eq "sg") {
243 return sg($prog->[1]);
244 } elsif ($prog->[0] eq "export") {
245 my ($name, $value) = split /=/, $prog->[1];
250 } elsif ($prog->[0] eq "unset") {
251 delete $ENV{$prog->[1]};
321 exec ('/bin/sh', '-c', join(" ", @$prog));
323 exec @$prog;
325 print STDERR $prog->[0], ": $!\n";