well first 4 lines takes arguments that are passed to function and put them in variables that are scalars (they begin with $).
"shift" means: take from
@_ array first element ..
$_[0] and than move one place to the left (
$_[1] becomes
$_[0], etc)
if scalar
$text is empty than it displays the message.
if you dont know OOP in Perl you should read
perltoot, but in short:
the name of the class is passed in first argument of function. Then the new class of that type is created. Then new atribute is added to the new class which references the data in
$text variable
that is what
$self->{_text} = \$text; means.
You could gave us the content of SWISS.pm module which have definitions of classes, I think.
type:
perl -e "print @INC"
that will show you where to search for that SWISS.pm