zealot has asked for the wisdom of the Perl Monks concerning the following question:
I am writing a script that needs to save it's state to a file and then load it in again later. I use the convention of using the S namespace to denote that the variable should be saved.
I am actually using a very light weight custom dumper function, but I was able to replicate the problem with the standard Data::Dumper library.
I was able to boil down the problem to this script:
#!/usr/bin/perl -T use Data::Dumper; $S::taint = $ARGV[0]; while (my ($name, $glob) = each %S::) { if (defined $$glob) {print Dumper($$glob)} print Dumper("$$glob") if (defined $$glob); print Dumper($$glob) if (defined $$glob); }
In the while loop, the first and second line work just fine. However, the third line (which I happened to use) results in a fatal run-time error. Specifically Can't coerce GLOB to string in padsv at ./taint.pl line 10.
My version of Perl is: This is perl, v5.8.5 built for i386-freebsd-thread-multi-64int
Am I missing something, or if this an error somewhere with the Perl internals?
Thanks!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Strange error dumping tainted data
by Stevie-O (Friar) on Mar 24, 2005 at 03:48 UTC | |
by zealot (Sexton) on Mar 24, 2005 at 22:30 UTC | |
|
Re: Strange error dumping tainted data
by dave_the_m (Monsignor) on Mar 24, 2005 at 13:36 UTC | |
by dave_the_m (Monsignor) on Mar 24, 2005 at 20:23 UTC | |
by zealot (Sexton) on Mar 24, 2005 at 22:31 UTC |