my $filename = shift @_;
# or even
my ($filename) = @_;
# multiple arguments are best caught this way:
my ($first,$second,$third) = @_;
# but some folks prefer
my $first = shift;
my $second = shift;
my $third = shift;
####
public static void do_something(String str) {
System.out.println("got " + str);
}
public static void do_something(String str, int numb) {
System.out.println("got " + str);
System.out.println("got " + numb);
}
public static int do_something() {
return 42;
}
####
sub do_it {
my ($str,$numb) = @_;
print "got $str\n" if $str;
print "got $numb\n" if $numb;
return 42;
}
# and you call it like so:
do_it('Hello World');
do_it('lucky number',7);
print "the answer is ", do_it(), "\n";
####
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while 1:
ok = raw_input(prompt)
if ok in ('y', 'ye', 'yes'): return 1
if ok in ('n', 'no', 'nop', 'nope'): return 0
retries = retries - 1
if retries < 0: raise IOError, 'refusenik user'
print complaint
quit = 0
while not quit:
quit = ask_ok(prompt = 'Do you really want to quit?')
####
use strict;
use Sub::NamedParams qw(wrap);
wrap(
'sub' => 'ask_ok',
names => [qw(prompt retries complaint)],
hashref => 1,
default => {
prompt => 'Enter answer:',
retries => 4,
complaint => 'Yes or no, please!',
}
);
sub ask_ok {
my ($prompt,$retries,$complaint) = @_;
{
print $prompt;
chomp (my $answer = <>);
return 1 if $answer =~ /y\b|ye\b|yes\b/;
return 0 if $answer =~ /n\b|no\b|nop\b|nope\b/;
$retries--;
die 'refusenik user' if $retries < 0;
print "$complaint\n";
redo
}
}
my $quit;
while (not $quit) {
$quit = ask_ok({prompt => 'Do you really want to quit?'});
}
####
use strict;
use base qw(Attribute::Default);
sub ask_ok : Default({ prompt=>'', retries=>4, complaint=>'Yes or no, please!' }) {
my %arg = @_;
{
print $arg{prompt};
chomp (my $answer = <>);
return 1 if $answer =~ /y\b|ye\b|yes\b/;
return 0 if $answer =~ /n\b|no\b|nop\b|nope\b/;
$arg{retries}--;
die 'refusenik user' if $arg{retries} < 0;
print $arg{complaint}, "\n";
redo
}
}
my $quit;
while (not $quit) {
$quit = ask_ok(prompt => 'Do you really want to quit?');
}