- if ($return_filename_p) {
- print STDERR "$progname: wrote \"$tmpfile\"\n" if ($verbose);
- print STDOUT "$tmpfile\n";
-
- } elsif ($use_stdout_p) {
- local *IN;
- my $ppm = "";
- my $reader = "djpeg $tmpfile";
- $reader .= " 2>/dev/null" if ($verbose <= 1);
- $reader .= " |";
-
- open(IN, $reader) || error "reading $tmpfile: $!";
- print STDERR "$progname: reading $tmpfile\n" if ($verbose > 1);
- while (<IN>) { $ppm .= $_; }
- close IN;
- unlink $tmpfile;
- print STDOUT $ppm;
-
- } else {
-
- @cmd = ("xscreensaver-getimage-file");
- push @cmd, "--verbose" if ($verbose);
- push @cmd, $tmpfile;
-
- print STDERR "$progname: executing \"" . join(' ', @cmd) . "\"\n"
- if ($verbose);
- system (@cmd);
-
- unlink $tmpfile;
- }