sub param { my $self=shift; my $returnValue; my @v=$self->SUPER::param($_[0]); if(ref $v[0] eq 'Fh') { my $fileName=$v[0]->asString(); my $strippedFileName=$hs->parse($fileName); if($fileName eq $strippedFileName) { # the filename wasn't changed $returnValue=$v[0]; } else { # filename was changed, need to recreate # this is where I'm stuck... # $self->{$_[0]}=?; } else { $returnValue=$hs->parse($v[0]); } return $returnValue; }