I really thought this would do it but it did not. :-(
use IO::Scalar;
use Devel::Peek;
print STDERR " STDERR test (1)\n";
my $io = ioscalar();
print STDERR " STDERR test (3)\n";
printf " Scalar string has length %d\n", length($io);
printf " and contains '%s'\n", $io;
print STDERR " STDERR test (4)\n";
my $peek = peek();
print STDERR " STDERR test (5)\n";
printf " Scalar string has length %d\n", length($peek);
printf " and contains '%s'\n", $peek;
sub ioscalar {
my $data;
tie *STDERR, 'IO::Scalar', \$data;
print STDERR " STDERR test (2)\n";
untie *STDERR;
return $data;
}
sub peek {
my $data;
my $test = 'string';
tie *STDERR, 'IO::Scalar', \$data;
Dump($test);
untie *STDERR;
return $data;
}
__DATA__
STDERR test (1)
STDERR test (3)
Scalar string has length 17
and contains ' STDERR test (2)
'
STDERR test (4)
SV = PV(0x177eb58) at 0x1cbc540
REFCNT = 1
FLAGS = (PADBUSY,PADMY,POK,pPOK)
PV = 0x1773c74 "string"\0
CUR = 6
LEN = 7
STDERR test (5)
Scalar string has length 0
and contains ''