Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Ok so, I'm a newbie and I've struggled with this one for hours so please help. A module that I'm using Html-Clean is asking for me to set options like so.....strip(\@options) I realise that is a reference to a hash but how on earth do I pass the module lowercasetags = 0 Some wisdom would be greatly appreciated.

Replies are listed 'Best First'.
Re: Referencing a Hash in a module
by BrowserUk (Patriarch) on Oct 06, 2002 at 15:19 UTC

    Actually what have shown is a reference to an @array, but assuming that's a typo, the usual method of passing named options to a function in a module looks something like this

    module::method( {option1=>value, option2=>somevalue });

    Often the module name can be dispensed with.

    In your specific case (without reference to the docs for HTML-clean which I haven't located.) you probably want

    HTML-clean::strip( {lowercasetags=>0 })

    You could also do it this way.

    my %options; $options{lowercasetags}=0; HTML-clean::strip( \%options );

    Using the OO style this would look like

    my $handle = new HTML-clean(...); my %options; $option{lowercasetags}=0; $handle->strip( \%options );

    You'll need to read the docs for HTML-clean to work out any other parameters and options and where to put them.


    Cor! Like yer ring! ... HALO dammit! ... 'Ave it yer way! Hal-lo, Mister la-de-da. ... Like yer ring!
      Hats off to you sir, I got it working. Thanks
Re: Referencing a Hash in a module
by converter (Priest) on Oct 06, 2002 at 15:54 UTC

    For what it's worth, "HTML-Clean" is the distribution name, the module name is HTML::Clean.