diff options
Diffstat (limited to 'bin/make_css')
-rwxr-xr-x | bin/make_css | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/bin/make_css b/bin/make_css index 7c7a5290d..b99459cda 100755 --- a/bin/make_css +++ b/bin/make_css @@ -14,12 +14,12 @@ BEGIN { use CSS::Sass; use File::ChangeNotify; use File::Find::Rule; -use File::Slurp; use Getopt::Long; use MIME::Base64; use MIME::Types; use Path::Tiny; use Pod::Usage; +use Try::Tiny; # Store ARGV in case we need to restart later. my @ARGVorig = @ARGV; @@ -125,9 +125,15 @@ sub compile { # Write a file, only if it has changed. sub write_if_different { my ($fn, $data) = @_; - my $current = File::Slurp::read_file($fn, { binmode => ':utf8', err_mode => 'quiet' }); + $fn = path($fn); + my $current = try { + $fn->slurp_utf8; + } catch { + return if $_->{err} eq 'No such file or directory'; + die $_; + }; if (!$current || $current ne $data) { - File::Slurp::write_file($fn, { binmode => ':utf8' }, $data); + $fn->spew_utf8($data); return 1; } return 0; |