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

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re: perl command line option - ( -x )
by McDarren (Abbot) on Jan 30, 2007 at 07:09 UTC
    I think perlrun explains it pretty well:
    -x -x directory tells Perl that the program is embedded in a larger chunk +of unrelated ASCII text, such as in a mail message. Leading garbage +will be discarded until the first line that starts with #! and contains the string "perl". Any meaningful sw +itches on that line will be applied. If a directory name is specifie +d, Perl will switch to that directory before running the program. The -x switch controls only the disposal of +leading garbage. The program must be terminated with "__END__" if th +ere is trailing garbage to be ignored (the program can process any or all of the trailing garbage via the DAT +A filehandle if desired).
    Example:
    cducdsgcsdcyvdsctydwcfvsc rubbish ..... more rubbish... blah blah blah #!/usr/bin/perl -w use strict; print "Hello World\n"; __END__ more garbage here ignored.
    Output:
    darren@barney:~/perlmonks$ perl -x garbage.pl Hello World

    Cheers,
    Darren :)

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: perl command line option - ( -x )
by siva kumar (Pilgrim) on Jan 30, 2007 at 08:15 UTC
    A Sample program for using -x option with directory name.
    Unwanted Lines Here ............... ---------------- etc., #!/usr/bin/perl -w use strict; print "Hai Ashok ...\n"; system('ls'); __END__
    If I run the above program as #perl test.pl I will be getting syntax error.
    syntax error at test.pl line 3, near "......" "use" not allowed in expression at test.pl line 9, at end of line Execution of test.pl aborted due to compilation errors.
    If I run the program as #perl -x test.pl
    Output is Hai Ashok .. x.pl y.pl z.pl dirName1 dirName2
    Here dirName1 and dirName2 are directories. If I run the same progrma by #perl -xdirName1 test.pl
    Output is Hai Ashok .. abc.pl xyz.pl
    abc.pl and xyz.pl are the files under dirName1.