Hello all! I just registered here because I don't find any solution to my PERL problem.
So I want to strip certain tags from HTML in my PERL based Content Management System called Imperia.
I installed HTML::Restrict on the server. It works just fine in a little PERL test program I wrote:
#! /usr/local/bin/perl use strict; use HTML::Restrict; my $value = qq|<html> <head> <title>Dies ist der Titel</title> </head> <body> <p>Hier kommt der Inhalt</p> </body> </html> |; my $hr = HTML::Restrict->new(); my $value = $hr->process($value); print "Ergebnis: ".$value."\n\n";
So now I want to use the module in my CMS. There is an interface called "transform". So I wrote this transform plugin:
#! /bin/false # $Id: Null.pm,v 1.7.2.2 2009/03/26 11:15:04 guido Exp $ # vim: set autoindent shiftwidth=4 tabstop=8: # Imperia AG is the sole owner and producer of its software "Imperia". + For # our software license and copyright information please refer to: Lice +nse.txt # Copyright (C) 1995-2012 Imperia AG. All rights reserved. package Dynamic::Transform::zim_iwe_filtern; use strict; use warnings; use HTML::Restrict; use Carp; sub new { my ($proto, $config) = @_; my $class = ref($proto) || $proto; bless {}, $class; } sub transform { my ($self, $metainfo) = @_; ## fetch all variable names my @keylist = sort $metainfo->keys(); my $count = 0; foreach my $key (@keylist) { ## only change certian variables next unless ( $key =~ m/^eingabe_/ or $key =~ m/^ff_confirm_/ or $key =~ m/^ff_successful_/ or $key =~ m/^map_point/ or $key =~ m/^map_text_/ or $key =~ m/^map_transcript_/ or $key =~ m/^tube_text_/ ); ## test value my $value = qq|<html> <head> <title>Dies ist der Titel</title> </head> <body> <p>Hier kommt der Inhalt</p> </body> </html> |; my $hr = HTML::Restrict->new() or die "Error at HTML::Restrict->ne +w: $!"; $value = $hr->process($value) or die "Error at process: $!"; $metainfo->setValues($key."_DEBUG", $value); } } 1;
But in this environment the command $value = $hr->process($value) won't work. The result on the web interface of the cms is as follows: "Error at process: at /cms/ews-2000/site/modules/core/Dynamic/Transform/zim_iwe_filtern.pm line 55, <DEFAULTDATEI> line 102."
This means that something goes wrong but the error variable $! isn't filled. The httpd error log shows no error either.
I suspect that the module isn't fit to be used inside a package or I just invoke it wrong.
Can anyone help me?
Kind regards,
Tobias from Germany
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |