http://qs321.pair.com?node_id=1014529


in reply to what does "$@" mean?

Perl can tell you what it means:
    perldoc -v "$@"
(You will have to use single- or double- (or no) quotes around  $@ as appropriate to your operating system and shell; the command line above works for me on Win7.)
See also  $@ and Error Variables in perlvar.

Replies are listed 'Best First'.
Re^2: what does "$@" mean?
by skyworld_chen (Acolyte) on Jan 22, 2013 at 03:16 UTC

    Hi,

    thanks for your reply. I have checked "perldoc -v '$@' " at my RHE4 with perl v5.8.5, but it shows "No documents found for '$@' ". I then checked the link you provided (Error Variables) to find an explanation as this:

    $@ is set if the string to be eval-ed did not compile (this may happen if open or close were imported with bad prototypes), or if Perl code executed during evaluation die()d. In these cases the value of $@ is the compile error, or the argument to die (which will interpolate $! and $? ).

    Is this mean $@ is only used to contain reasons why perl failed? Thanks.

      The Perl special variable  $@ holds the reason why  eval failed during compilation or execution. See the discussion of eval in perlfunc. Perl failures may have causes that do not originate in eval, and the reasons (actually, error message strings or numeric codes) for these failures are held in other error variables.

      > I have checked "perldoc -v '$@' " at my RHE4 with perl v5.8.5, but it shows "No documents found for '$@' ".

      Neither does 5.10, cause the -v switch was redefined for newer Perl versions!

      But the online doc has variable search, at least for the current versions.

      Cheers Rolf

        Pod::Perldoc, its on cpan, update yours today, get the -v switch