10.8. Skipping Selected Return ValuesProblem
You have a function that returns many values, but you only care about some of them. The Solution
Either assign to a list with ($a, undef, $c) = func(); or else take a slice of the return list, selecting only what you want: ($a, $c) = (func())[0,2]; DiscussionUsing dummy temporary variables is wasteful: ($dev,$ino,$DUMMY,$DUMMY,$uid) = stat($filename);
Use ($dev,$ino,undef,undef,$uid) = stat($filename); Or take a slice, selecting just the values you care about: ($dev,$ino,$uid,$gid) = (stat($filename))[0,1,4,5]; If you want to put an expression into list context and discard all its return values (calling it simply for side effects), as of version 5.004 you can assign to the empty list: () = some_function(); See Also
The discussion on Copyright © 2002 O'Reilly & Associates. All rights reserved. |
|