David Storrs wrote: > > I've got a function that takes several arguments, the first of which > should be a scalar (specifically, a string). I'd like to have a > precondition to verify that the argument is, in fact, a scalar. Is > there a way to do that (preferably without using modules--I'm trying > to write an entirely self-contained script). > > I could make it take a REFERENCE to a scalar, and then do "ref $_[0] > eq 'SCALAR'", but that's not really what I'm looking for. > > The value may have been specified as a literal, so I can't do > anything using the *{foo}{SCALAR} syntax (even if I had the name of > the variable and not its value). > > Any thoughts?
You can use a prototype for the sub. sub something ($@) { my ( $scalar, @array ) = @_; # rest of sub } # code that uses something something $one, $two; You can also declare the prototype at the start of the program. #!/usr/bin/perl use warnings; use strict; sub something ($@); # code that uses something something $one, $two; sub something ($@) { my ( $scalar, @array ) = @_; # rest of sub } perldoc perlsub John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]