in reply to Using RETURN in a sub

Please be a little more specific on the "but it doesnt return anything" part, cause this code runs smoothly on my machine. Maybe a stupid question, but do you actually do something with the returned value? Like:

print makeDate(); sub makeDate{ @days = ("Sun","Mon","Tues","Wed","Thurs","Fri","Sat"); @mons = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct", +"Nov","Dec­"); (undef,undef,undef,$mday,$mon,$year,$wday,undef,undef) = localtime(tim +e); $year = 2000 + ($year - 100); $date = "$days[$wday] $mons[$mon] $mday $year"; return $date; }
--
b10m

All code is usually tested, but rarely trusted.

Replies are listed 'Best First'.
Re: Re: Using RETURN in a sub
by MysticFallout (Initiate) on Feb 19, 2004 at 17:02 UTC
    ok, maybe i should try using print for it. i refer to it as
    &makeDate;
    im fairly new to sub's so, it is my error, i apologize.

      That will work too, but you have to understand the code in the sub. You call the subroutine (with &makeDate) and that routine does something (creating a date in this case). After the string has been created, you say "Alrighty! Let's have that result back!". And so the sub does. But ermm ... then nothing happens.

      As demonstrated by me (and others), you can call the sub to directly print the result it's handing back, but of course, you can use that value later. For example:

      sub makeDate{ @days = ("Sun","Mon","Tues","Wed","Thurs","Fri","Sat"); @mons = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept", "Oct","Nov","Dec­­"); (undef,undef,undef,$mday,$mon,$year,$wday,undef,undef) = localtime( +time); $year = 2000 + ($year - 100); $date = "$days[$wday] $mons[$mon] $mday $year"; return $date; } $date = makeDate(); # ... do a lot of other things ... print "<p>Hello, currently it's $date!</p>\n";

      One more word of advice, please read perldoc strict, 'cause it will probably help you out big time later on. Might as well do it right from the beginning :)

      im fairly new to sub's so, it is my error, i apologize.

      We all started with Perl once and we all are here (except for maybe some monks ;) to learn something.

      --
      b10m

      All code is usually tested, but rarely trusted.
Re: Re: Using RETURN in a sub
by Anonymous Monk on Feb 19, 2004 at 18:10 UTC
    I want to thank everyone who replied. It is very apreciated and I will look into all of these points that were made. Be well and safe!!