On Tue, 2008-12-09 at 15:35 -0500, David Shere wrote:
> Hello.  I'm not a new perl programmer, but I feel like one today.  I
> want to pull the last octet off of an IP address and print it to
> standard output.  I have this so far:
> 
>    @octets = split(/\./, $ipAddress);
>    print pop(@octets);
> 
> Which works great.  I have no other use for @octets, so I should be able
> to just pass the results of split() right to pop():
> 
>    print pop(split(/\./, $ipAddress));
> 
> However, I get the error message 
> 
>    Type of arg 1 to pop must be array (not split) at ./oct.pl line 
>    8, near "))"
> 
> I realize I need to make sure the results of split() are an array before
> they're passed to pop().  Fine.  However, 
> 
>    print pop(@{split(/\./, $ipAddress)});
> 
> prints nothing.  split() *does* return an array, right?  Why can't pop
> take it?

print '', (split( /\./, $ipAddress ))[-1];


-- 
Just my 0.00000002 million dollars worth,
  Shawn

The key to success is being too stupid to realize you can fail.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to