Thierry Vignaud > MDK-Common-1.2.29 > MDK::Common::Various

Download:
MDK-Common-1.2.29.tgz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

MDK::Common::Various - miscellaneous functions

SYNOPSIS ^

    use MDK::Common::Various qw(:all);

EXPORTS ^

first(LIST)

returns the first value. first(XXX) is an alternative for ((XXX)[0])

second(LIST)

returns the second value. second(XXX) is an alternative for ((XXX)[1])

top(LIST)

returns the last value. top(@l) is an alternative for $l[$#l]

to_bool(SCALAR)

returns a value in { 0, 1 }

to_int(STRING)

extracts the number from the string. You could use directly int "11 foo", but you'll get Argument "11 foo" isn't numeric in int. It also handles returns 11 for "foo 11 bar"

to_float(STRING)

extract a decimal number from the string

bool2text(SCALAR)

returns a value in { "true", "false" }

bool2yesno(SCALAR)

returns a value in { "yes", "no" }

text2bool(STRING)

inverse of bool2text and bool2yesno

chomp_(STRING)

non-mutable version of chomp: do not modify the argument, returns the chomp'ed value. Also works on lists: chomp_($a, $b) is equivalent to chomp($a) ; chomp($b) ; ($a,$b)

backtrace()

returns a string describing the backtrace. eg:

    sub g { print "oops\n", backtrace() }
    sub f { &g }
    f();

gives

    oops
    main::g() called from /tmp/t.pl:2
    main::f() called from /tmp/t.pl:4
internal_error(STRING)

another way to die with a nice error message and a backtrace

noreturn()

use this to ensure nobody uses the return value of the function. eg:

    sub g { print "g called\n"; noreturn }
    sub f { print "g returns ", g() }
    f();

gives

    test.pl:3: main::f() expects a value from main::g(), but main::g() doesn't return any value

SEE ALSO ^

MDK::Common

syntax highlighting: