Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^3: Using the DATA file handle for ARGV

by GotToBTru (Prior)
on Nov 13, 2013 at 20:03 UTC ( #1062453=note: print w/replies, xml ) Need Help??


in reply to Re^2: Using the DATA file handle for ARGV
in thread Using the DATA file handle for ARGV

This works for DATA, but not for an argument. The point of this trick, as I understood it, was to allow the program to use DATA if an argument was not passed.

use strict; use warnings; BEGIN { *ARGV = *DATA unless @ARGV } my $timestamp = <>; my ($year,$month,$day,$hour,$minute,$second) = ($timestamp =~ /(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/); printf "%s is %d seconds\n",$timestamp, ((($year * 365 + $day) * 24 + +$hour) * 60 + $minute) * 60 + $second; __DATA__ 620731142301
$: perl secsis.pl 620731142301 is 1957962181 seconds $: perl secsis.pl 131113135710 Can't open 131113135710: No such file or directory at secsis.pl line 5 +. Use of uninitialized value in pattern match (m//) at secsis.pl line 7. ...

Replies are listed 'Best First'.
Re^4: Using the DATA file handle for ARGV
by choroba (Archbishop) on Nov 13, 2013 at 23:07 UTC
    No. You either specify no argument, in which case the script processes the DATA section, or you provide a file name, in which case the script processes the file. For a default value of an argument, use
    my $arg = shift; $arg //= "default";
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1062453]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2021-04-17 17:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?