summaryrefslogtreecommitdiff
path: root/lib/MON/Utils.pm
blob: 791af8e07e1758a1854500f7495147438fa4765f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package MON::Utils;

use strict;
use warnings;
use v5.10;
use autodie;

use Data::Dumper;
use Exporter;

use base 'Exporter';

our @EXPORT = qw (
  d
  dumper
  get_version
  isin
  newline
  notnull
  null
  remove_spaces
  say
  sum
  trim
);

sub say (@) { print "$_\n" for @_; return undef }
sub newline () { say ''; return undef }
sub sum (@) { my $sum = 0; $sum += $_ for @_; return $sum }
sub null ($)    { defined $_[0] ? $_[0] : 0 }
sub notnull ($) { $_[0] != 0    ? $_[0] : 1 }
sub dumper (@)  { die Dumper @_ }
sub d (@)       { dumper @_ }

sub isin ($@) {
  my ( $elem, @list ) = @_;

  for (@list) {
    return 1 if $_ eq $elem;
  }

  return 0;
}

sub trim ($) {
  my $trimit = shift;

  $trimit =~ s/^[\s\t]+//;
  $trimit =~ s/[\s\t]+$//;

  return $trimit;
}

sub remove_spaces ($) {
  my $str = shift;

  $str =~ s/[\s\t]//g;

  return $str;
}

sub get_version () {
  my $versionfile = do {
    if ( -f '.version' ) {
      '.version';
    }
    else {
      '/usr/share/mon/version';
    }
  };

  open my $fh, $versionfile or error("$!: $versionfile");
  my $version = <$fh>;
  close $fh;

  chomp $version;
  return $version;
}

1;