From 351153eae7a319a25ef1365279257f7019b733cf Mon Sep 17 00:00:00 2001 From: John Date: Sat, 1 Jun 2019 14:19:52 +0200 Subject: env subroutine: simpler default assignment --- dwim.pl | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'dwim.pl') diff --git a/dwim.pl b/dwim.pl index 462fdbb..6d2c445 100755 --- a/dwim.pl +++ b/dwim.pl @@ -12,14 +12,10 @@ my $p; $p = $ARGV[0] if defined $ARGV[0]; $p = `xsel -o` if not defined $ARGV[0]; -our $OPENER = $ENV{OPENER}; -our $EDITOR = $ENV{EDITOR}; -our $MAILER = $ENV{MAILER}; -our $MAILROOT = $ENV{MAILROOT}; -$OPENER = "u" if not defined $OPENER; -$EDITOR = "vi" if not defined $EDITOR; -$MAILER = "mutt" if not defined $MAILER; -$MAILROOT = "/home/john/mail/" if not defined $MAILROOT; +my $OPENER = env (OPENER => "u"); +my $EDITOR = env (EDITOR => "vi"); +my $MAILER = env (MAILER => "mutt"); +my $MAILROOT = env (MAILROOT => "/home/john/mail/"); for ($p) { # web address @@ -66,3 +62,10 @@ sub path { die "couldn't retrieve directory\n" if ! -d $t and ! -d ($t = dirname $t); return "$t/$f"; } + +sub env { + my %h = @_; + my $k = (keys %h)[0]; + return $ENV{$k} if defined ${ENV}{$k}; + return $h{$k}; +} -- cgit v1.2.3