http://www.perlmonks.org?node_id=998294


in reply to how do i run this subroutine

Command line arguments are available inside the script as the pre-defined variable @ARGV .

This array can be passed to the subroutine.

             I hope life isn't a big joke, because I don't get it.
                   -SNL

Replies are listed 'Best First'.
Re^2: how do i run this subroutine
by kurtcobain (Novice) on Oct 10, 2012 at 19:37 UTC
    I am sorry but i couldnt understand how to pass @ARGV to the subroutine . I started learning perl few days back ..Could you please show me the command to do it .
      Do you know how to pass a variable to a subroutine? @ARGV is a variable. Pass it to the subroutine. Or pass $url as toolic derived above.
        #!/usr/bin/perl -w use strict; use warnings; use HTML::TableExtract; sub Parse{ my $url = $ARGV[0]; my $te = HTML::TableExtract->new( headers => [qw(Severity Advisory Sy +nopsis Date)] ); my @args = (); $te->parse_file($url); foreach my $ts($te->tables) { foreach my $row ($ts->rows) { push(@args,("\'".join('\',\'',@$row)."\'\n")); } } return @args; } my $a = $ARGV[0]; Parse($a); open (MYFILE, '>>data.txt'); print MYFILE Parse($a); close (MYFILE);

        I passed the url as an argument . I am looking to write the output to a text file .But it aint working. Please help

      Parse (@ARGV); # Parens are optional.

                   I hope life isn't a big joke, because I don't get it.
                         -SNL