From 57277689cc9e4da41eed5fc514b8e2a5e288835b Mon Sep 17 00:00:00 2001 From: Paul Cochrane Date: Thu, 10 Aug 2017 11:45:34 +0200 Subject: [PATCH] Replace two-arg open with three-arg open The three-argument version of the `open` function is considered better practice than the older two-argument `open`. --- eg/calculator/lib/Runner.pm | 2 +- lib/Pegex/Grammar.pm | 6 +++--- lib/Pegex/Input.pm | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/eg/calculator/lib/Runner.pm b/eg/calculator/lib/Runner.pm index 3be8e6c..7256fff 100644 --- a/eg/calculator/lib/Runner.pm +++ b/eg/calculator/lib/Runner.pm @@ -22,7 +22,7 @@ sub run { sub run_file { my ($self) = @_; my $file = shift(@{$self->args}); - open IN, $file or die "Can't open '$file' for input"; + open IN, "<", $file or die "Can't open '$file' for input"; while () { next if /^(?:#|$)/; chomp; diff --git a/lib/Pegex/Grammar.pm b/lib/Pegex/Grammar.pm index 148401f..5589801 100644 --- a/lib/Pegex/Grammar.pm +++ b/lib/Pegex/Grammar.pm @@ -18,7 +18,7 @@ sub make_text { my ($self) = @_; my $filename = $self->file or return ''; - open TEXT, $filename + open TEXT, "<", $filename or die "Can't open '$filename' for input\n:$!"; return do {local $/; } } @@ -73,7 +73,7 @@ sub import { sub compile_into_module { my ($package) = @_; my $grammar_file = $package->file; - open GRAMMAR, $grammar_file + open GRAMMAR, "<", $grammar_file or die "Can't open $grammar_file for input"; my $grammar_text = do {local $/; }; close GRAMMAR; @@ -94,7 +94,7 @@ sub compile_into_module { require Pegex::Compiler; $perl = Pegex::Compiler->new->compile($grammar_text, @rules)->to_perl; } - open IN, $file or die $!; + open IN, "<", $file or die $!; my $module_text = do {local $/; }; require Pegex; my $msg = " # Generated/Inlined by Pegex::Grammar ($Pegex::VERSION)"; diff --git a/lib/Pegex/Input.pm b/lib/Pegex/Input.pm index 995f7d0..89edf60 100644 --- a/lib/Pegex/Input.pm +++ b/lib/Pegex/Input.pm @@ -36,7 +36,7 @@ sub open { $self->{_buffer} = \ do { local $/; <$handle> }; } elsif (my $path = $self->{file}) { - open my $handle, $path + open my $handle, "<", $path or die "Pegex::Input can't open $path for input:\n$!"; $self->{_buffer} = \ do { local $/; <$handle> }; }