Respected Monks,
I have written a small script that 1) Takes the input and converts it to lower case and then 2) inserts ":" between every two characters.
I wrote this script so that I dont have to keep adding the ":" manually. These are HBA WWNs that we use to manage our SAN.
Here is the script:
Everytime I execute it, I get the error : Use of uninitialized value $wwn in string eq at wwn.pl line 5. The scripts runs fine, just keeps giving this message. Here is a sample output:#!/usr/bin/perl use warnings; use strict; until (our $wwn eq "q") { print "Enter the wwn: "; chomp ($wwn=<STDIN>); my @wwn = unpack ("(a2)*", lc($wwn)); @wwn = join (":", @wwn); print "@wwn\n"; }
C:\Users\Documents\perl\practice>perl wwn.pl Use of uninitialized value $wwn in string eq at wwn.pl line 5. Enter the wwn: 10000000ABCDEFGH 10:00:00:00:ab:cd:ef:gh Enter the wwn: 10000000C9A2B3CD 10:00:00:00:c9:a2:b3:cd Enter the wwn: q q C:\Users\Documents\perl\practice>
I tried using while ($wwn ne "q") but still I get the same error message. Which I now see makes sense because both these say the same thing.
Please let me know where I am going wrong. Also, I just browsed the net and found the unpack function and have tried using it. The Perldoc has a very small article on in that doesn't tell me much. Any other pointers that explains unpack will really help me. I don't like using stuff that I don't understand clearly in a script, but its been many days, and I am not advancing much so getting impatient and used unpack without much understanding it. Kindly help me.
Update: I tried changing $wwn to "our" thinking that stating it to be "my" may be creating issues, but that also doesn't seem to be the case.In reply to Getting "un initialized value" error though variable is initialized. Please help. by perl514
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |