use warnings; use strict; my $file = 'input.txt'; if (@ARGV){ if (! -e $ARGV[0]){ warn "$ARGV[0] is not a valid file, using default\n"; } else { $file = $ARGV[0]; } } open my $fh, '<', $file or die $!; while (<$fh>){ print; }