You said:
"In the above script i am splitting the server name like this my ($hostname) = split /\./, $NODE;"
But in the new script, you don't assign $hostname the same way:
$hostname = split /\./, $NODE;
You need to put parens () around $hostname like you have in the first script. From perldoc -f split:
"Splits the string EXPR into a list of strings and returns the list in list context, or the size of the list in scalar context."
Which means that using a scalar instead of a list on the left-hand side, it'll return the number of items returned from the split. ($hostname) is retrieving in list context, whereas $hostname is looking for the scalar return.
Also, you're still not properly indenting. I highly recommend spending the few minutes it would take to go through the entire script and indent it consistently.
In reply to Re: Different behaviours in the similar scripts
by stevieb
in thread Different behaviours in the similar scripts
by shroh
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |