my $i = 'Insert'; $i->dodaj_narzut($products_price, \%zakresy) #### sub dodaj_narzut { my ($class,$cena,$zakresy) = @_; my $narzut = $class->ret_narzut($cena,$zakresy); my $new = sprintf('%.2f', $cena+($cena*($narzut/100))); return $class->zaokraglenie($new); } sub ret_narzut { my ($class,$cena,$zakresy) = @_; # use Data::Dumper; # print Dumper($zakresy); while (($zakres,$wartosc) = each %$zakresy) { my @zak = split '-', $zakres; if ($cena > $zak[0] and $cena <= $zak[1]) { return $wartosc; } } print "55\n"; return 55; }