commit - 7deb630f2352fb316c67d518f8d2795b059e92b9
commit + 618ba1715bb12777f4afd3312d02c3c4501b43f2
blob - /dev/null
blob + bb95f971cfac3a52b38c9e9a460a6a42cfe933be (mode 644)
--- /dev/null
+++ lib/IRCNOW/IO.pm
+package IRCNOW::IO
+
+use File::Copy qw(copy);
+use File::Basename;
+
+
+# Read from filename and return array of lines without trailing newlines
+sub readarray {
+ my ($filename) = @_;
+ open(my $fh, '<', $filename) or die "Could not read file '$filename' $!";
+ chomp(my @lines = <$fh>);
+ close $fh;
+ return @lines;
+}
+
+# Read from filename and return as string
+sub readstr {
+ my ($filename) = @_;
+ open(my $fh, '<', $filename) or die "Could not read file '$filename' $!";
+ my $str = do { local $/; <$fh> };
+ close $fh;
+ return $str;
+}
+
+# Write str to filename
+sub writefile {
+ my ($filename, $str) = @_;
+ my $date = date();
+ copy($filename, $backupspath.basename($filename).".".date()) or die "Could not make backup of $filename";
+ open(my $fh, '>', "$filename") or die "Could not write to $filename";
+ print $fh $str;
+ close $fh;
+}
+
+# Append str to filename
+sub appendfile {
+ my ($filename, $str) = @_;
+ open(my $fh, '>>', "$filename") or die "Could not append to $filename";
+ print $fh $str;
+ close $fh;
+}
+