sub savefile { my ( $filename, $data ) = @_; open my $FH, ">$filename" or die "Unable to open $filename: $!"; die "Can't handle HASHEs" if ref $data eq 'HASH'; $_ = ref $data; CASE: { /ARRAY/ && do { local $\ ||= "\n"; print $FH "@$data"; last CASE; }; /SCALAR/ && do { print $FH $$data; last CASE; }; print $FH $data; }; }