Perl: print the name of the input file

The special variable $ARGV could be used to get the name of the input file.
It returns the name of the file or ‘-‘ if the standard input was used.

Here are some examples:


perl -nle 'END { print $ARGV }' /etc/passwd
/etc/passwd


echo test | perl -nle 'print $ARGV'
-


$ (echo test; echo test2) | perl -nle 'print $ARGV'
-
-


perl -nle 'print $ARGV if !$seen{$ARGV}++' /etc/passwd /etc/shells
/etc/passwd
/etc/shells

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.